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 段即可
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
ignored = !git ls-files -v | grep "^h"