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

问题描述 投票:55回答:8

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

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

git add .
git commit "message"
git status

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

我怎么能让它们消失?

git git-commit
8个回答
34
投票

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

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

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

115
投票

这也将添加删除。

git add -u .

检查提交的内容:

git status

11
投票

git add -u .

如果你输入git status并且结果是最新的,但是用红色表示

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

您需要输入此内容才能永久删除git add -u .然后所有红色文本都将标记为绿色。 ****别忘了字母u和句号之间的空格


7
投票

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

而不是git add,你将使用git rm


2
投票

你需要告诉git它被删除了

git rm folder

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


0
投票

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

使用命令:

git reset HEAD文件名

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

然后做一个git提交


0
投票

我发现自己在删除某些本地文件之后有一个意外的'已删除'文件夹。

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


0
投票

当我从pull拿走upstream/master时,我也有红色的删除文件。我尝试了不同的东西但没有任何效果 最终,我不得不为我的分支分支恢复所有更改(已提交,暂存,未分阶段),并且必须将我的repo与上游主分支重新同步。

git reset --hard upstream/master
git pull upstream master
© www.soinside.com 2019 - 2024. All rights reserved.