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

Невозможно исключить состояние пользовательского интерфейса из commit в xcode

Я не могу исключить файл состояния пользовательского интерфейса из 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"

И похоже, что это git.png

Пожалуйста, помогите (это сводит меня с ума)!

4b9b3361

Ответ 1

Если эти файлы уже установлены, вам нужно удалить их из индекса, прежде чем просматривать файл .gitignore.

git rm --cached *.xcuserstate
# or
git rm -r --cached project.xcworkspace

Ответ 2

Чтобы добавить к ответу VonC после вызова -rm, вы также должны зафиксировать, а затем нажать (сделать это в терминале, прежде чем касаться Xcode или инструментов git снова), что решило мою проблему.

Итак,

git rm --cached *.xcuserstate
git commit -m "Removed cached files"
git push

Затем вы можете снова коснуться Xcode