git之临时忽略文件

Posted by Kaen98 Blog on June 16, 2018

git 中要在版本库中忽略某些文件,第一选择选择应该是使用 “.gitignore” 配置文件,该方式是永久忽略,如果要忽略某个已经在版本库中的文件,那么先要从版本库中移除,然后.gitignore中的配置才会生效。

git 还有一种临时忽略文件的方式,命令为:


git update-index --assume-unchanged

这种方式忽略可以让该文件还继续保留在版本库中,但是本地修改文件后,不会提示有修改,也就不需要提交。

既然是临时忽略,那么也可以解除临时忽略,命令为:


git update-index --no-assume-unchanged

如果时间久了,自己都不记得那些文件是临时忽略的该怎么办?可以使用命令:


git ls-files -v

这个命令将列出所有文件的状态,文件名前面符号含义如下:


H

      cached



  h

      Assume Unchanged 



  S

      skip-worktree



  M

      unmerged



  R

      removed/deleted



  C

      modified/changed



  K

      to be killed



  ?

      other

当文件比较多时,还可以借助 grep 命令来筛选,例如:


git ls-files -v| grep '^h'

git 既然支持 alias,可以通过配置alias来简化操作,编辑 .gitconfig 文件,把下述配置加入到 alias 段即可


# .gitconfig配置文件中

[alias]

ignore = update-index --assume-unchanged

unignore = update-index --no-assume-unchanged

ignored = !git ls-files -v | grep "^[[:lower:]]"

然后就可以键入以下命令操作:

git ignore filename  // 临时忽略某个文件
git unignore filename // 取消忽略某个文件
git ignored // 查看已忽略的文件

http://www.netingcn.com/git-temporary-ignore.html https://blog.csdn.net/csfreebird/article/details/13509409