11

我的工作分支中有一堆已删除的文件,我不确定是否要提交。我需要根据需要提交我修改过的文件。

这就是我想出的:

git add `git status | grep modified | cut -f2 | cut -f4 -d' '`

这个答案做了类似的事情,但也好不到哪里去:https ://stackoverflow.com/a/8277826

那么有没有更简单的解决方案?

4

1 回答 1

15

只需使用git add --no-all .(Git v. 2.0+) 或git add .(Git v. 1.x)。这将通过遍历当前目录来获取它可以找到的任何文件,该目录自然不会包括已删除的文件。

当然,这也会拾取任何未跟踪的文件。如果您需要避免这些,那么您可以使用更复杂的表达式。它与您的相似,但它使用用于脚本的输出(因此它更稳定且更易于解析):

git diff-files -z --diff-filter=M --name-only --relative | xargs -0 git add
于 2013-01-16T21:40:17.443 回答