我刚刚使用了git add -p
将一堆更改添加到索引中,然后我意识到我错过了一个应该放在上一个提交中的更改。
现在我不能使用commit --amend
,因为我已经将所有这些新更改添加到了索引中,而且我不想使用'git reset'将它们全部从索引中删除,因为重新添加它们需要很长时间。
我需要的是像git stash
这样的东西,只会隐藏索引-它应该让工作文件保持原样。然后我可以隐藏索引,添加缺少的更改,提交它,然后弹出隐藏并使我的索引恢复到原来的状态。
看起来git stash
似乎无法做到这一点,但我是否遗漏了什么?谢谢!
git commit
命令 - 它会将你的索引(index)创建成一个提交(commit)。在这之后,Kevin Ballard的回答解释了如何合理地重写历史记录... - Mark Longairgit stash --keep-index
”的东西,但是针对工作目录,也就是“--working-tree
”。我也是这样想的,但是这个功能并不存在。 - Leif Gruenwoldtgit stash push
子命令中提供了--staged
选项。 (为了方便引用@user3840170的答案。) - tom