Подтвердить что ты не робот

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" в названии).

4b9b3361

Ответ 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.

Примечание: эти шаги будут работать для существующего проекта тоже, я думаю, не проверял.