如何修改git add命令以处理删除的文件?

34

我从我的Git仓库中删除了一些文件,现在,在查看状态时:

# Changes not staged for commit:
# ...
#   deleted:    project/war/favicon.ico
#   deleted:    project/war/index.html

通常,我会使用git add .命令将它们设置为暂存状态,但这样做不会影响git状态。文件仍未被暂存以供提交。

现在.. 我知道我可以使用git rm file来解决这个问题。

问题是...我能否修改git add .以便也暂存已删除的文件?我以为add "."已经处理了所有内容(包括已删除的文件)

1个回答

68

git add . 命令会将新添加和修改的文件添加到索引中。 git add -u 命令会在磁盘上删除文件并更新已修改的文件,但不会添加新文件。你需要两者兼备:

git add . && git add -u .

补充说明:看起来-A开关可以捕获所有三种情况:添加、修改和删除的文件。

git add -A .

请注意git add -Agit add -u命令中有额外的'.'。


警告: 从git 2.0(2013年中期)开始,git add -A|u(无额外点号)将始终在整个工作树上暂存文件。
如果您只想在当前路径下的工作树中暂存文件,则需要使用:

$ git add -A .

参见"git add -A与git add .的区别"。


如果我不想添加所有文件,只想添加已删除的文件怎么办? - domdambrogia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接