使用Git / GitHub删除文件


Answers:


226

我认为这是做您想要的事情的一种更简单的方法:

git add . -A 

然后,您将要做:

git commit -m "removed some files"

如上所述。


谢谢。我刚刚写了别名bash来完成上述操作。惊人。
Zack

12
-A标志有什么作用?
金王子

1
@KimPrince-根据kernel.org的说法,“ -A-所有与-u相似,但除了索引以外,还将<filepattern>与工作树中的文件进行匹配。这意味着它将查找新文件并分阶段修改内容并删除工作树中不再存在的文件。”
j08691 2012年

3
@KimPrince git help add会告诉您什么-A意思,并列出所有其他开关。
Marcin Orlowski

1
这不仅仅是删除已删除的文件。它会添加目录中所有已更改的文件,因此这并不是一个令人满意的答案。
亚历克斯

19

您可以看到已删除的文件,这些文件仍在“跟踪”状态:

git ls-files --deleted

要从分支删除文件,您可以执行以下操作:

git ls-files --deleted -z | xargs -0 git rm

来自man git-rm

从索引或工作树和索引中删除文件。git-rm不会仅从您的工作目录中删除文件。(没有选择仅从工作树中删除文件13并将其保留在索引中的选项;如果要这样做,请使用/ bin / rm。)

最后,要执行“删除”操作,请执行以下操作:

git commit -m "removed some files"

然后,您需要提交更改git commit -m "removed some files"
James Polley,

17

我不知道自从先前的答案以来,是否已经将其添加到git中,但是我只是使用了

git add -u
git commit -m "Removed some files"

实现同一件事。


这适用于列出的用例,但不仅增加了文件的删除。它会添加所有已以任何方式更改的文件,因此,通常这不是删除所有已删除文件的好方法,除非这是您所做的唯一更改。
亚历克斯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.