Почему я добавляю в .gitignore файлы, а их все равно отслеживает?
Потому что они уже были в индексе.
https://git-scm.com/docs/git-rm#git-rm---cachedgit rm --cached
позволяет убрать файлы из индекса, соответственно гитигнор на них подействует.git rm -rf --cached ios/build например.
Поясню.
-r - рекурсивно пройтись по заданому каталогу.
-f - чтоб не ругался ни на что.
Запись -rf дозволена соглашениями.
--cached - удаление только из индекса (не самих файлов).
ios/build - пусть к папке, в которой эту экзекуцию провести. (можно так же полный путь записать)
package-lock.json кстати оставь.
1. удали гит игнор, сделай коммит
2. удали файлы и коммит
3. добавь gitignore и заливай уже что надо, так точно заработает