我不小心向一个我不打算的分支提交了一系列提交。我本来打算把它们放进去,master
但最终把它们放在我们将调用的共享分支上integ
。我想找到一种方法来删除这些提交integ
并将它们放在上面master
;我希望他们永远不会存在于integ
.
两者都已在 github 上共享integ
。master
该integ
分支由我们的 CI 环境使用。
我读过这git rebase
是一个选项,但从我读过的内容来看,它将使 integ 分支无法继续使用,因为它的历史记录中有已被重新播放到master
. 具体来说,我指的是:
http://blog.evan.pro/a-simple-explanation-of-git-rebase
它在哪里说:
此时不要从原点/功能/我的主题拉取、合并或变基!!!
为什么不?因为 Git 只是想,“哦,看,origin/feature/my-topic 有两个提交(D 和 E),我们在 feature/my-topic 本地没有。让我们把它们合并进去!”……虽然这是个问题,因为我们确实有这些提交,但是当我们运行 git rebase 时,它们的哈希值被重新写入 F 和 G。
我的问题是:
- 我怎样才能恢复这些分支的状态,以使 10 次提交
integ
最终出现master
并且integ
看起来好像从未有过这些提交? - 那可能吗?
- 如果没有,我如何回到可以继续的地方?
提前致谢!