假设我有 8 次提交和一个分支(主)的线性 git 历史记录:
1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> [8=master]
我想将 master 移到 4 (我可以用git branch -f master 4
):
1 -> 2 -> 3 -> [4=master] -> 5 -> 6 -> 7 -> 8
现在工作树处于状态 4。
我现在想将更改应用4 -> 8
到我的工作树作为补丁。
也就是说,在不影响 .git 文件夹的状态的情况下,我想将未暂存的更改应用4->8
到我的工作树。在此之后,工作树应该处于状态 8,但提交状态和主分支应该处于状态 4。
另一种说法:假装在将 master 移动到 4 之后,我手动将 4->8 更改到我的工作树,而没有将它们添加到索引中。结果应该是一样的。
最简单的方法是什么?