# 取消对指定文件修改跟踪 git update-index --assume-unchanged ./application/site.php # assume-unchanged:关闭本地文件与远程仓库跟踪,不再跟踪指定文件修改, # 因此一旦使用assume-unchanged,文件将不再从远程仓库pull更新,也不再push推送远程仓库了。 # 恢复对指定文件修改跟踪 git update-index --no-assume-unchanged ./application/site.php # git update-index --assume-unchanged 支持正则匹配方式使用 # 关闭跟踪extra目录下后缀为.php的文件 git update-index --assume-unchanged "./application/*.php"; # 打开跟踪extra目录下的所有文件 git update-index --assume-unchanged "./application/"; #所有如果即想要远程仓库对应文件的更新,又不想要将自己本地的修改提交, #可以使用命令:git update-index --skip-worktree #skip-worktree:不会关闭本地文件对远程仓库的跟踪,只是告诉Git不要跟踪对本地文件的更改, #pull时会拉取最新的更新,但要更新则需要no-skip-worktree再pull拉取合并最新更新。 # 关闭GIT跟踪本地文件修改 git update-index --skip-worktree "./application/*.php" # 打开GIT跟踪本地文件修改 git update-index --no-skip-worktree "./application/*.php"
怎么查看已经忽略的文件列表,特别是忽略文件很多的且忽略时间很久的情况下
# 使用命令可以查看忽略的文件列表 git ls-files -v | grep '^h\ ' # 读取文件路径 git ls-files -v | grep '^h\ ' | awk '{print $2}' # 恢复所有被忽略的文件(文件多的时候可用) git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged
图1