因此,我有一个名为BRANCH_A
的分支,还有另一个名为BRANCH_B
的分支,这两个分支合并成一个分支。现在BRANCH_A
中出了点问题,由于某些原因,它看起来像是回归,可能合并得不好。在合并之后,我在BRANCH_A
中几乎没有什么次要的提交,无论如何我都需要将BRANCH_A
还原为合并之前的安全提交。我遵循堆栈中其他类似问题的帖子,并按以下步骤进行操作:
首先在BRANCH_A
内部创建一个备份分支:
git branch BACKUP_A
然后从昨天重置为SHA,这是在合并发生之前的提交:
git reset --hard SHA
然后将BRANCH_A
指向备份分支:
git reset --soft BACKUP_A
然后提交:
git commit -m "Revert to SHA id"
并按下:
git push
这将还原为该提交,但是问题是,在该合并中我仍然有其他分支更改(对于BRANCH_B),并且这仅还原了我在合并后所做的那些次要提交。
如何还原到其他Branch(BRANCH_B)中的更改,而仅保留我实际上在BRANCH_A中所做的更改(合并之前的提交)呢?
答案 0 :(得分:0)
因此,我可以通过以下操作解决此问题:
在有问题的branch_a内部:
Git reset —hard commitID
Git merge origin/develop
Git push -f
然后签出并删除branch_a
git checkout develop
git branch D branch_a
然后再次签出
git checkout branch_a
希望它适用于遇到类似问题的人。
注意:运行Git push -f
时要小心,因为如果输入错误,则会丢失代码