git提交特定的暂存删除文件

时间:2015-01-26 22:49:59

标签: git git-commit

我从git repo(git rm a)中删除了一个文件,并对另一个文件(b)进行了更改。我还有一些其他的变化,但我想在一次提交中专门提交这两个,并在稍后处理其余的。我的状态基本上是:

# Changes to be commited:
#    deleted:   a
#    renamed:   f1 --> f2
#    renamed:   g1 --> g2
#    ... other irrelevant stuff ...
#
# Changed but not updated:
#    modified:  b
#    modified:  h
#    modified:  .. other files ..
#

我想这样做:

git commit a b -m "..."

这确实有效("错误:pathspec' a'与git")已知的任何文件都不匹配。我知道我可以git commit -a提交删除本身,但我不想提交所有内容,我希望这个提交只是对{{1}的更改并删除了b。我该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以通过运行git reset --mixed来重置HEAD和索引。然后,您应该将所有更改(包括删除)取消暂存。

然后运行git add -u <fileYouDeleted>,然后您的已删除文件将被暂存(但其他文件将不会)。然后你可以只提交删除。