我们严格使用PR为我们的production
分支引入更改(如您所愿)。我的假设是回滚意味着在合并rollback
主题分支之前创建feature
分支,如果需要,我们可以通过rollback
PR回滚。然而,这并不像我想象的那样有效。
创建回滚分支:
git checkout 6af89ed -b rollback-prod
合并功能分支:
# production branch
git merge new-feature
回滚:
# production branch
git merge rollback-prod
Already up-to-date.
正如你所看到的(如果我错了,请纠正我)因为提交已存在于production
分支中,它会转发Already up-to-date
。
我面临的问题是,这种回滚需要通过我们的GUI git工具(bitbucket)来实现。所以手动命令修复不是一个真正的选择。
是否建议通过PR回滚到提交的方法?
编辑1:
我想明确指出,rollback
需要提前创建,以便Ops在回滚的情况下不必触及命令行。假设这是可能的,也许不
答案 0 :(得分:1)
您可以在当前noexcept(false)
(或者您需要从哪里开始回滚)创建rollback
分支,并在要撤消的所有提交上使用master
。现在你有一个分支,你可以使用拉取请求。
答案 1 :(得分:1)
有两种方法可以有效地"回滚" Git中的提交。一种是执行交互式rebase,在其中删除一个或多个提交,另一种是执行git revert
。但是,因为您想通过拉取请求实现回滚,唯一的选择是执行git revert
。所以你可以尝试以下方法:
git checkout production
git checkout -b rollback-prod # create rollback branch from production
git revert 6af89ed^..HEAD # add revert commit to this branch
git push origin rollback-prod # push this branch to Bitbucket
现在,您可以在Bitbucket中为rollback-prod
分支创建拉取请求。完成后,6af89ed
提交将被有效还原。