我有一个Git repo,我用rm(不是Git rm)删除了四个文件,我的Git状态是这样的:

#    deleted:    file1.txt
#    deleted:    file2.txt
#    deleted:    file3.txt
#    deleted:    file4.txt

我如何从Git中删除这些文件,而不需要手动查看并添加每个文件,就像这样:

git rm file1 file2 file3 file4

理想情况下,我正在寻找与git添加的方式相同的东西。是的,如果可能的话。


当前回答

如果你想把它添加到你的.gitconfig中,这样做:

[alias]
  rma = !git ls-files --deleted -z | xargs -0 git rm

然后你要做的就是跑:

git rma

其他回答

类似的

git status | sed -s "s/^.*deleted: //" | xargs git rm 

也许吧。

(另一种变化)

我想删除所有已经删除的磁盘文件,但从一个特定的文件夹,留下其他文件夹不变。下面的方法对我很有效:

git ls-files --deleted  | grep <folder-name> | xargs git rm

作为rm-all命令添加暂存删除文件的系统别名

UNIX 别名rm-all='git rm $(git ls-files——deleted)'

窗户 Doskey rm-all=bash -c "git rm $(git ls-files——deleted)"

Note

Windows需要安装bash。

git rm test.txt

在您删除实际文件之前或之后。

首先使用该命令可以在Git中提交所有已删除的文件 Git add -u来执行删除的文件,然后使用Git commit -m "message"来提交更改,并附上描述提交的消息。git add命令中的-u标志将执行所有已删除的文件,以及工作目录中的任何其他更改。