我在一个分支上有一组提交,像这样:[head]A->B->C->D
并且将签出以提交C
,但希望将从C
到B
所做的更改视为未提交的更改。我在想我该怎么做。我可以这样开始:
git checkout <hash of C>
git checkout -b new-branch
- …
谢谢。
这个答案假设您想以
结尾:B -> C -> D
,首先从C -> D
开始,然后检查B
的更改。我们可以尝试以下操作:
git reset --hard HEAD~1 # takes us back to B -> C -> D
git reset --soft HEAD~1 # back to C -> D with B's changes being staged
一旦您检查了阶段性的更改并从上面的第二步提交,您将最终得到B -> C -> D
。