Ответ 1
Если эти файлы уже установлены, вам нужно удалить их из индекса, прежде чем просматривать файл .gitignore.
git rm --cached *.xcuserstate
# or
git rm -r --cached project.xcworkspace
Я не могу исключить файл состояния пользовательского интерфейса из commit.
Каждый раз, когда я пытаюсь нажать на github, он просит меня перенести сначала и вставить файл состояния пользовательского интерфейса в изменения (даже если я не перемещал мышь или интерфейс вообще, все еще показывается, чтобы зафиксировать!).
Я пробовал разные методы, описанные в других подобных темах. Например, я попытался добавить все возможные случаи пользовательского интерфейса в .gitignore в корне, например:
*.xcuserstate
project.xcworkspace
xcuserdata
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate
Это не сработало. Я попытался очистить кеш и reset git, не помог.
Git команда состояния говорит следующее: "modified:.xcodeproj/project.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate"
И похоже, что это
Пожалуйста, помогите (это сводит меня с ума)!
Если эти файлы уже установлены, вам нужно удалить их из индекса, прежде чем просматривать файл .gitignore.
git rm --cached *.xcuserstate
# or
git rm -r --cached project.xcworkspace
Чтобы добавить к ответу VonC после вызова -rm, вы также должны зафиксировать, а затем нажать (сделать это в терминале, прежде чем касаться Xcode или инструментов git снова), что решило мою проблему.
Итак,
git rm --cached *.xcuserstate
git commit -m "Removed cached files"
git push
Затем вы можете снова коснуться Xcode