把简书的文章移到CSDN.
最近新建的项目总是出现这种情况:明明刚将本地修改的都提交了,没过多久,切换分支提示本地有修改,我很纳闷,明明什么都没改啊。使用git status命令查看如下:
就算你再把这个文件add commit push,过一会儿,它又变了,所以根据终端提示的使用git add并不能从根本上解决问题。
然后在 StackOverflow 里看到一段话:
It just manages the state of XCode. You don’t need to store this for any reason and *.xcuserstate should probably be added to your .gitignore file.
得到一个重要信息: *.xcuserstate should probably be added to your .gitignore file.
就是git软件要忽略的文件列表,如果要忽略某些文件,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。(摘自百度知道,不管你们信不信,反正我信了)
上面已经说了:创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去。
好,现在就开干。
cd到你的工程目录下,然后 touch .gitignore
vi .gitigonre
这个时候你再使用git status,会发现
没有提示xcuserstate那个文件了,说明ignore成功,最后记得add commit push:
可以试试 git rm --cached
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用:
git rm --cached file_path
git commit -m 'delete remote somefile'
git add
git commit
git push