git 提交特定暂存删除文件

git commit specific staged deleted file

我从我的 git 存储库 (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 "..."

确实有效 ("error: pathspec 'a' did not match any file(s) known to git")。我知道我可以 git commit -a 提交删除本身,但我不想提交所有内容,我希望这次提交 只是 对 [=14 的更改=] 和删除 a。我该怎么做?

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

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