好吧,我认为这是不可能的,但这是一个场景:
我是结对编程,我必须打破成对。我承诺了我正在进行的工作,所以另外两个人可以在我不在的时候继续工作,但他们也不能在上面工作。现在,从我承诺之前的地方开始工作真的很有帮助。换句话说,如果我的git status
看起来像我运行的git reset --soft head~
就好了。但是既然他们已经退出了,我不想通过在实际的git reset --soft head~
之上工作来改变历史。
我很高兴在制品提交在那里。我不喜欢的是我的IDE没有显示任何变化。我知道我可以在不提交的情况下恢复,但是有更好的方法吗?
为了避免重写branch1
的推送历史,可以创建一个新的分支:
git switch branch1
git switch -c branch2
git reset --soft @~
现在你的世界看起来就像你提交branch1
之前的那一刻。