当我想将源代码推送到遥控器时遇到问题。但是 xcuserstate 文件总是被更改,并且 Git 宣布“提交或放弃更改并重试”。所以我试图忽略 xcuserstate 文件,但我不能
怎么解决???
当我想将源代码推送到遥控器时遇到问题。但是 xcuserstate 文件总是被更改,并且 Git 宣布“提交或放弃更改并重试”。所以我试图忽略 xcuserstate 文件,但我不能
怎么解决???
错误消息非常具体地说明您应该做什么:提交文件(如果您想保留更改)或丢弃它(如果您不关心更改)。
cuser 文件通常隐藏在 xcode 项目的深处,因此您可能需要提供它们的完整路径(以下示例用于find
在子目录中查找这些文件)
这将提交当前目录中的所有cuser 文件:
$ git add $(find . -name "*.xcuserstate" -or -name "*.xcuserdata")
$ git commit $(find . -name "*.xcuserstate" -or -name "*.xcuserdata") -m "updated xcuser stuff"
这将丢弃当前目录中所有cuser 文件的更改:
$ git checkout $(find . -name "*.xcuserstate" -or -name "*.xcuserdata")
通常你根本不想跟踪 xcuser-stuff,所以你应该从存储库中删除它并确保它不会被意外添加:
# remove cuser-stuff from the repository (but not locally)
$ git rm --cached $(find . -name "*.xcuserstate" -or -name "*.xcuserdata")
# commit the file removal
$ git commit $(find . -name "*.xcuserstate" -or -name "*.xcuserdata") -m "don't track cuser stuff"
# prevent the cuser-stuff from accidentally adding it
$ echo "*.cuserdata" > .gitignore
$ echo "*.cuserstate" > .gitignore
$ git add .gitignore
$ git commit .gitignore -m "don't track user-specific data"