是否可以从已推送到遥控器的功能分支恢复主设备上的合并提交?
E.g。从master中的合并提交创建一个功能分支,还原功能分支中的提交和合并?
或者您是否需要对主人进行还原并从主人那里推送?
我在一个设置中,只允许通过Pull Request分支对master进行更改,以便调查我们是否可以某种方式使用git revert merge commit操作,如下所述:
答案 0 :(得分:1)
创建一个分支,您可以在其中恢复提交,然后将其与主服务器合并。
这样的事情:
git checkout master
git pull
git checkout -b feature/revert_dev
git revert [hash of the commit that you want to revert]
git push -u origin (or whatever you are naming your remote) feature/revert_dev
然后将feature/revert_dev
与主
答案 1 :(得分:1)
如果你要恢复合并,你应该确定你理解其含义,因为它们并不明显。如果您了解其含义并仍想恢复合并,则受保护的主分支不是障碍。
受保护分支无关紧要的原因是,恢复只是一个提交,其更改(相对于其父级)恰好撤消一个或多个其他提交(相对于其父级)的更改。它可以在分支上完成,然后使用PR进行合并,或者引入更改master
的提交所需的任何其他过程。
revert本身需要特殊的参数,告诉git
合并要恢复的父级。更重要的是,一旦将恢复合并到master
,将很难重新合并您已合并的合并分支(因为git
会将其视为"已经合并&#34)。您在此时的选项将是"还原还原",或者创建与分支具有相同效果的新提交(例如,通过对其执行rebase -f
)。