Gitignore не игнорирует файл
Независимо от того, что я помещаю в .gitignore
, я не могу заставить git игнорировать файл UserInterfaceState.xcuserstate
ниже:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: .gitignore
modified: CalFoo.xcodeproj/project.xcworkspace/xcuserdata/wcochran.xcuserdatad/UserInterfaceState.xcuserstate
Я использую/редактирую файл .gitignore
, указанный на этом сообщении.
Я пробовал все, чтобы соответствовать шаблону, включая точный путь: CalFoo.xcodeproj/project.xcworkspace/xcuserdata/wcochran.xcuserdatad/UserInterfaceState.xcuserstate
безрезультатно.
Эта конкретная проблема возникает из рабочего процесса, в котором Xcode используется для создания начального git репо и файла .gitignore
из здесь. Более общий ответ на игнорирование ранее отслеженных файлов в git можно найти из этого вопроса (я думаю, я никогда не находил это сообщение в своем поиске, так как он не имел "gitignore" в названии).
Ответы
Ответ 1
Вы можете игнорировать непереведенные файлы, но этот файл уже известен git.
Если вы хотите, чтобы git отслеживал этот файл, нет необходимости сообщать git игнорировать его.
Если вы не хотите, чтобы git отслеживал этот файл, используйте git rm
, и ваше правило игнорирования начнет работать.
Внимание: git rm
удалит файл. Используйте git rm --cached
для удаления из репо, но не с диска.
Ответ 2
У меня была такая же проблема.
Сначала выполните любые незавершенные изменения кода, а затем запустите эту команду:
git rm -r --cached .
Это удаляет любые измененные файлы из индекса (промежуточной области), а затем запускает:
git add .
Зафиксировать его:
git commit -m ".gitignore working now"
Чтобы отменить git rm --cached filename, используйте git добавить имя файла.
Ответ 3
Один из простых способов игнорировать файлы на GitHub прекрасно объясняется здесь
https://help.github.com/en/articles/ignoring-files
Прежде чем делать какие-либо действия в GitHub, папка вашего проекта должна быть пустой.
1) открыть терминал и написать cd
и перетащите папку вашего проекта через терминал. После этого это будет выглядеть так:
docmacbook$ cd /Users/docmacbook/Downloads/MyProjectFolder
2) Откройте файл .gitignore и добавьте файлы, которые вы хотите игнорировать. Например, мой файл .gitignore выглядит так:
MyAppName.xcodeproj/xcuserdata
MyAppName.xcworkspace/xcuserdata
Pods
report.xml
3) Подтвердите и нажмите на GitHub.
После этого переместите свой проект или создайте новый в папке, где находится файл .gitignore, и теперь файлы, которые вы хотите игнорировать, не будут отправлены на ваш GitHub.
Примечание: эти шаги будут работать для существующего проекта тоже, я думаю, не проверял.