在git中,有没有办法有效地重置--soft/revert;在不改变历史的情况下恢复-n?

In git, is there a way to effectively reset --soft / revert; revert -n without changing history?

好的,我认为这是不可能的,但情况是这样的:

我对程序进行了配对,但我不得不打破配对。我提交了正在进行的工作,这样另一对可以在我离开时继续工作,但他们也无法继续工作。现在,从我承诺之前的状态开始工作真的很有帮助。换句话说,如果我的 git status 看起来像我 运行 和 git reset --soft head~ 就好了。但既然他们已经撤了,我 不想 通过在实际 git reset --soft head~.

之上工作来改变历史

我对那个 WIP 提交很好。我不喜欢的是我的 IDE 没有显示任何变化。我知道我 可以 恢复然后在不提交的情况下恢复恢复,但是有更好的方法吗?

为避免重写 branch1 的推送历史记录,改为创建一个新分支:

git switch branch1
git switch -c branch2
git reset --soft @~

现在您的世界看起来就像您提交 branch1 之前的瞬间一样。