我有一个.gitignore中提到的文件,但我添加它是git add -f因为我只想添加它一次然后像往常一样忽略它.
但是,现在默认情况下会对其进行跟踪.我该如何撤消这个?
不完全确定您要查找的内容,但您可以删除要在以后提交时忽略的文件
git rm --cached filename
Run Code Online (Sandbox Code Playgroud)
请注意,在将规则添加到此文件以忽略它之前,git不会忽略已跟踪的文件.在这种情况下,文件必须是未跟踪的,通常使用git rm --cached filename
信息:https://help.github.com/articles/ignoring-files
或者你可以告诉git它忽略了文件的变化
git update-index --assume-unchanged filename
Run Code Online (Sandbox Code Playgroud)
并用它来撤消它
git update-index --no-assume-unchanged filename
Run Code Online (Sandbox Code Playgroud)
列出所有假设未更改的文件
git ls-files -v|grep '^h'
Run Code Online (Sandbox Code Playgroud)
信息:如何.gitignore并删除已提交的文件而不影响其他工作副本?
但是请记住,假设 - 在我看来是不变的,不符合git的哲学,这个命令只会忽略它在你的机器上所做的更改.其他人仍然可以覆盖它.
在大多数情况下,您将其用于配置文件.您可以采取的措施是避免使用此选项,将其保留在.gitignore中,并向README添加设置描述或创建一个创建这些文件的小安装脚本.