Ответ 1
Вам необходимо зафиксировать свое изменение после удаления из промежуточной области.
Как вы уже это сделали, запустите:
$ git rm --cached path/to/.DS_Store
$ git rm --cached *.xcuserstate
Обратите внимание: у вас могут быть некоторые в других каталогах, поэтому вам может понадобиться несколько вызовов, чтобы получить их все. На этом этапе ваши удаления помещаются в индекс, но еще нужно сделать: добавьте ваш .gitignore
и завершите окончательный результат:
$ git add .gitignore
$ git commit -m "Remove and ignore .xcuserstate and .DS_Store files."
Теперь они будут удалены из репозитория и будут игнорироваться в будущем. Примечание. Это приведет к удалению файлов для других людей, даже если вы использовали git rm --cached
локально. К сожалению, вы не можете сделать этого. Кроме того, файлы все еще находятся в вашей истории, поэтому в зависимости от того, что вы делаете, вы можете видеть их в других ветвях, пока все не будет объединено, а все ваши ветки основаны на том, что имеет новый фиксатор.