临时忽略某些文件

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 段即可

git config --global alias.hide "update-index --assume-unchanged"
git config --global alias.unhide "update-index --no-assume-unchanged"
git config --global alias.ignored '!git ls-files -v | grep "^h"'
posted @ 2018-12-09 11:02  xuejianbest  阅读(111)  评论(0编辑  收藏  举报