Git在提交后仍然显示已删除的文件

时间:2010-11-29 20:22:04

标签: git git-commit

如何从Git仓库中删除已删除的文件?

我删除了一个包含许多文件的JavaScript库文件夹。然后我去提交这样的更改:

git add .
git commit "message"
git status

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

我怎样才能让它们消失?

8 个答案:

答案 0 :(得分:114)

这也会添加删除。

git add -u .

检查提交的内容:

git status

答案 1 :(得分:34)

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

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

  1. 通过恢复索引中的版本取消删除它们:git checkout path/to/folder
  2. 将它们标记为已删除,然后提交:git rm -r path/to/folder

答案 2 :(得分:10)

git add -u .

如果您输入 git status ,结果显示最新,但红色表示

已删除:folder / example0.jpg
已删除:folder / example1.jpg
已删除:folder / example2.jpg

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

****不要忘记字母 u 期间

之间的空格

答案 3 :(得分:7)

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

只需代替git add,您就可以使用git rm

答案 4 :(得分:2)

你需要告诉git它已被删除

git rm folder

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

答案 5 :(得分:0)

假设您要删除文件并且不希望它被提交:

使用命令:

git reset HEAD filename

然后执行 git status 以验证要删除的文件是否未显示

然后执行 git commit

答案 6 :(得分:0)

我发现自己有一个意想不到的'已删除'我的文件夹后面是xxx'删除一些本地文件。

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

答案 7 :(得分:0)

pull取出upstream/master时,我还删除了红色的文件。我尝试了不同的方法,但没有任何效果。
最终,我不得不还原分支分支的所有更改(已提交,已分阶段,未分阶段),并且必须将存储库与上游主分支重新同步。

git reset --hard upstream/master
git pull upstream master