恢复多个分支合并开发

revert multiple branch merged to develop

所以我有一个名为 BRANCH_A 的分支,还有另一个名为 BRANCH_B 的分支,这两个分支合并为 develop 分支。现在 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_B) 中突袭这些更改的方式恢复,并且只保留我在 BRANCH_A 中实际所做的更改(合并前的提交)。

所以我能够通过执行以下操作解决此问题:

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 时要小心,因为如果你犯了错误,你会丢失你的代码