74

如何从我的 Git 存储库中删除已删除的文件?

我删除了一个 JavaScript 库的文件夹,其中包含许多文件。然后我去提交更改,如下所示:

git add .
git commit "message"
git status

但它将所有这些文件显示为“已删除......”。

我怎样才能让他们消失?

4

8 回答 8

135

这也将添加删除。

git add -u .

检查要提交的内容:

git status
于 2011-12-07T20:57:34.270 回答
40

如果它列出了“待提交”部分下的文件,则继续提交;文件将保持删除状态。(Git 也跟踪删除,而不仅仅是更改。)

如果它列出了“已更改但未更新”部分下的文件,那么您有两个选择:

  1. 通过恢复索引中的版本来取消删除它们:git checkout path/to/folder
  2. 在 Git 中将它们标记为已删除,然后提交:git rm -r path/to/folder
于 2010-11-29T20:27:51.867 回答
19

git add -u .

如果您键入git status并且结果显示为 up to date,但它显示为红色

已删除:文件夹/example0.jpg
已删除:文件夹/example1.jpg 已
删除:文件夹/example2.jpg

您需要输入此内容才能将其永久删除,git add -u . 然后所有红色文本都将标记为绿色。

**** 不要忘记字母u句点之间的空格

于 2015-06-01T18:46:36.540 回答
7

您需要记录它们确实是要被删除的。与记录文件更改的方式相同。

只是代替git add,您将使用git rm.

于 2010-11-29T20:25:44.083 回答
2

你需要告诉 git 它被移除了

git rm folder

或者,如果您不想将它们保存在 repo 中,您可以将它们添加到 .gitignore

于 2010-11-29T20:26:30.137 回答
0

假设说你想删除一个文件并且不希望它被提交:

使用命令:

git 重置 HEAD 文件名

然后做一个git status来验证要删除的文件是否没有出现

然后做一个git commit

于 2015-10-06T06:02:33.813 回答
0

在我“rm xxx”删除一些本地文件后,我发现自己有一个意外的“已删除”文件夹。

我首先创建一个临时分支并提交不需要的“已删除”文件夹,然后删除该临时分支。

于 2016-04-06T03:01:40.793 回答
0

当我pullupstream/master. 我尝试了不同的东西,但没有任何效果。
最终,我不得不为我的分叉分支恢复所有更改(已提交、已暂存、未暂存),并且必须将我的 repo 与上游主分支重新同步。

git reset --hard upstream/master
git pull upstream master
于 2018-09-28T13:03:40.050 回答