Bry*_*yce 20 git xcode gitignore tree-conflict ios
在Xcode中,我注意到.DS_Store和*.xcuserstate总是在变化,不需要提交.所以,我写了一个包含这个的.gitignore文件:
.DS_Store
*.xcuserstate
Run Code Online (Sandbox Code Playgroud)
其他条目.然后我用了:
git rm --cached *xcuserstate
git rm ---cached .DS_Store
Run Code Online (Sandbox Code Playgroud)
要删除版本控制下的这些文件类型.但是,当我去合并时,Xcode告诉我需要提交更改.这些更改包括.DS_Store文件和.xcuserstate文件.
所以,我试过这个:如何从Git存储库中删除.DS_Store文件?
find . -name .DS_Store -print0 | xargs -0 git rm --ignore-unmatch
find . -name *.xcuserstate -print0 | xargs -0 git rm --ignore-unmatch
Run Code Online (Sandbox Code Playgroud)
我得到了同样的结果.如何从源代码管理中删除这些文件?
Joh*_*ter 24
将您的更改从暂存区域中删除后,您需要提交更改.
正如您所做的那样,运行:
$ git rm --cached path/to/.DS_Store
$ git rm --cached *.xcuserstate
Run Code Online (Sandbox Code Playgroud)
请注意,您可能在其他目录中有一些,因此您可能需要多次调用才能获得所有这些目录.此时,您的删除将在索引中暂存,但还有更多工作要做:添加您的删除.gitignore,并提交最终结果:
$ git add .gitignore
$ git commit -m "Remove and ignore .xcuserstate and .DS_Store files."
Run Code Online (Sandbox Code Playgroud)
现在,它们将从存储库中删除,并在将来被忽略.注意:这将删除其他人的文件,即使您git rm --cached在本地使用.不幸的是,你无能为力.此外,文件仍在您的历史记录中,因此根据您的操作,您可能会在其他分支中看到它们,直到事情合并并且所有分支都基于具有新提交的内容.
| 归档时间: |
|
| 查看次数: |
11775 次 |
| 最近记录: |