2010-11-29 245 views
43

如何从Git仓库中删除已删除的文件?Git在提交后仍然显示已删除的文件

我已经删除了包含许多文件的JavaScript库文件夹。然后我去做了这样的变化:

git add . 
git commit "message" 
git status 

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

我该如何让它们消失?

+1

可能的重复[从Git中删除“已更改但未更新”的所有已删除文件](http://stackoverflow.com/questions/3169787/remove-all-deleted-files-from-changed-but-not-更新在git) – 2010-11-29 20:36:18

+0

可能重复的[我如何提交所有在Git中删除的文件?](http://stackoverflow.com/questions/1402776/how-do-i-commit-all-deleted-files-in -git) – Ben 2013-08-29 11:51:28

回答

27

如果列出了文件“承诺“部分,然后继续进行提交;这些文件将保持被删除。 (Git跟踪删除过,不只是改变)

如果它列出的文件的“改变,但没有更新”部分,那么你有两个选择:

  1. 由恢复版本取消删除指数:git checkout path/to/folder
  2. 马克他们在Git中删除,然后提交:git rm -r path/to/folder
+2

我看到了,如果我已经删除了多个(很可能多达几十个)分散在不同文件夹中的小文件,我是否必须为每个文件夹执行git rm?有没有捷径?谢谢 – 2010-11-29 21:10:06

+4

假设你没有其他更改舞台,或者不介意分级,`git add -u`会立即删除所有的删除。 – cdhowie 2010-11-29 21:11:09

6

你需要记录它们确实是要删除的。与记录文件更改的方式相同。您可以使用git rm而不是git add

1

你需要告诉git的,它被删除

git rm folder 

,或者如果你不想让他们在回购您可以在添加他们的.gitignore

99

这将添加删除也是如此。

git add -u . 

检查什么的上演与承诺:

git status 
8

混帐添加-u。

如果键入git的状态,结果说最新,但在红色,它说

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

您需要输入此代码才能永久删除它“git add -u。” 然后所有的红色文字将被标记为绿色。

****不要忘了信ü期间

0

假如说你要删除一个文件,也不会希望它致力于之间的空间:

使用命令:

git的重置头名

,然后做一个混帐小号tatus核实,如果要删除的文件没有出现

然后做一个git的承诺

0

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

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