现在有两种方式, .gitignore
或者.git/info/exclude
,这两种方式都表示指定的文件不不会被git进行管理.
但现在有一个需求, 我想忽略某些已经被git管理的文件, 例如, 我有一些配置文件, 我需要git帮我管理着他们, 但是这些配置文件每个开发人员需要配置的项目不一样, 这时我想修改这个文件,但是又不想让git提醒我提交它.
git update-index --skip-worktree path/to/file
skip-worktree
的作用时, 指定的文件一定会被修改, 但是git要认为它没有改变.这样我们就可以在本地修改被指定的文件, 而不同担心git add .
会将修改的文件添加到版本控制中.
检查文件是否被忽略:
git ls-files -v | grep ^s
git ls-files
显示所有被git管理的文件-v
选择被忽略的文件s
是--skip-worktree
的缩写
将忽略的文件重新添加到版本控制需要使用如下命令:
git update-index --no-skip-worktree path/to/file
git update-index --assume-unchanged path/to/file
assume-unchanged
的作用是, 指定的文件在本地肯定不会被修改, git可以忽略对指定文件的检测.
当我们认为某些文件我们一定不会尽心修改, 又想加快git的运行速度时,可以使用该命令.
检查文件是否被忽略:
git ls-files -v | grep ^h
h
是assume-unchanged
的缩写
恢复使用如下命令:
git update-index --no-assume-unchanged path/to/file