我从master分支以及其他一些开发人员开始,我们遵循一个不错的工作流程,在该工作流中,我们创建了一个特定于新问题的分支,将其合并回开发,然后再将几个功能合并到master。
有时候,我们还会在master中进行修补,然后将master合并到开发中,以避免将来发生合并冲突。
问题
在某个时候,我将master合并回develop,但是在解决合并冲突的同时,删除了一些在developer中完成的代码。现在我们意识到了所创建的问题,所以现在我们需要撤消该特定合并。
所以,让我与您分享一些信息。
大师
当前状态:确定
开发
如果您担心按时间顺序排列,则主服务器的最后2次提交是最新的更改。
我想要的
由于我完全空白,希望有一个还原合并的选项。
选项:
重要的一点是,我可能没有得到完整的图片,因为我刚刚读到,合并后两个分支共享历史记录,当我在bitbucket中提交哈希时,我在所有提交中都看到了master。我猜测提交已转移到主服务器。
任何帮助或见解将大有帮助。谢谢。
答案 0 :(得分:0)
您的方向正确。 Git是单向路径,没有退后的方法。
您都可以使用自己指定的第二个选项。您必须在进行marge commit之前创建一个分支。然后将母版合并到此分支中。之后,您应该删除开发分支并重命名这个新创建的分支。
另一种方法是,您可以从master创建一个新分支,然后对更改进行樱桃选择(您也可以合并为功能/错误创建的分支,而不是进行樱桃选择),这是在development分支中完成的,备份开发,删除开发并将新创建的分支重命名为开发。
我建议使用git rebase进行这种合并,以获得更好的历史记录https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase。