我在.gitignore中提到了一个文件,但我用git add -f
将其添加,因为我想仅添加一次,然后像往常一样将其忽略。
然而,现在它默认被跟踪。 我该如何撤消这个操作?
我不完全确定你想要什么,但你可以使用以下方法从将来的提交中删除要忽略的文件:
git rm --cached filename
请注意,如果在对一个文件设置忽略规则之前该文件已经被跟踪追踪过,git将不会忽略该文件。在这种情况下,通常需要使用git rm --cached filename命令取消该文件的跟踪。
信息来源:https://help.github.com/articles/ignoring-files
或者你可以告诉git忽略某个文件的更改。
git update-index --assume-unchanged filename
并使用撤销功能来撤回它
git update-index --no-assume-unchanged filename
要列出所有假定未更改的文件,请运行
git ls-files -v|grep '^h'
信息:如何在不影响其他工作副本的情况下.gitignore并删除已提交的文件?
但请注意,假设未更改是(我认为)违背Git的哲学,此命令仅会忽略您机器上所做的更改。其他人仍将能够覆盖它。
在大多数情况下,您使用此选项来处理配置文件。为避免使用此选项,您可以将其保留在.gitignore中,并在README中添加设置说明,或创建一个小型设置脚本来创建这些文件。
您可以使用以下方法删除它...
git rm --cached file
然后提交。
git rm --cached filename
现在git status
显示Changes to be committed: # (use "git reset HEAD..." to unstage)
#
# deleted: main/filename
- user1632167