.gitignore

在git中要忽略某些文件,常用的就是在.gitignore 中进行修改,通常用在新建仓库时使用。

但文件一旦在版本库里已经存在,则.gitignore忽略文件失效;

即.gitignore 只能忽略从来没有加入到版本库中的文件。

git update-index --assume-unchanged

但是有时候会有这种需求,忽略已追踪文件的改动, 例如,工程里已经有了a.xml,并且已经放到版本库,这时候我想修改下a.xml让其适配自己的环境(比如设置连自己的测试数据库),但是又不想不小心push到远程仓库。由于已经存在于版本库,因此.gitignore方式无效。

解决方法如下:

# 本地修改不提交到远程仓库

git update-index --assume-unchanged [file-path]

# 取消本地忽略
  
git update-index --no-assume-unchanged [file-path]

# 查看本地仓库哪些文件被加入忽略列表
  
git  ls-files -v