如何在Git中取消跟踪所有已删除的文件

16

如何在Git中取消跟踪所有已删除的文件?

我知道有一条命令可以按名称取消跟踪某个文件(git rm myfile)。

但是我想要取消跟踪所有已删除的文件,而不必关心它们的名称。


2
“untrack” 指将它们从历史记录中删除? - OneOfOne
3个回答

31
在较新版本的git中,这些文件将会自动使用 git add --update 命令取消跟踪。

但是如果我运行 git add -all,那么没有被跟踪的文件不会被添加到仓库中吗?我不希望发生这种情况。 - John Smith Optional
是的,这非常不直观,但似乎 git add -u 起作用了,也就是说,你必须使用 git add -u 来取消跟踪已删除的文件。非常感谢! - John Smith Optional
1
是的!为什么这个问题不更受欢迎呢?非常感谢你。 - ahnbizcad
1
我认为最好删除旧评论。有些人可能会在阅读编辑之前就将其输入。 - ahnbizcad
1
@125_m_125 我执行了 git add --update 命令,看起来已删除的文件已经被添加到暂存区。我尝试提交以解决问题,但现在这些文件仍然停留在暂存区。如果我执行 git reset HEAD file 命令,它只会将它们从暂存区移出到之前的位置。 - user137717
但是 git add --update 也会添加修改过的文件,不仅仅是删除的文件。 - Anders_K

1
$ git diff-files --diff-filter=D --name-only -z | xargs -0 git rm

1

3
如果我理解得没错的话(“通过递归删除未在版本控制下的文件来清洁工作树,从当前目录开始。”),这与我想要做的相反。我想要做的是让git不再跟踪这些文件。这些文件已经被删除了。 - John Smith Optional

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接