我有一个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添加的方式相同的东西。是的,如果可能的话。


当前回答

正如前面提到的

git add -u

阶段删除文件删除,但也修改文件更新。

要取消已修改的文件,您可以执行

git reset HEAD <path>

如果你想保持你的提交有条理和干净。注意:这也可能取消已删除的文件,所以要小心那些通配符。

其他回答

你可以使用

git add -u

要将删除的文件添加到暂存区域,然后提交它们

git commit -m "Deleted files manually"

类似的

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

也许吧。

(另一种变化)

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

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

告诉命令自动生成已修改和删除的文件,但未通知Git的新文件不受影响:

——一个 ——所有

git add . && git commit -m -a "Your commit"

or

git add --all && git commit -m "Your commit"

作为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。