在Git中,我有两个分支:master和myFeatureBranch(我在主人的时候通过IDEA的新分支创建).自从我创建myFeatureBranch以来,其他团队成员已经对master进行了多次更改.我想引入这些更改,我知道我会发生合并冲突.
我对如何处理这个问题的一般想法是:
我从master获得所有提交并将它们应用到我的分支
我处理任何合并冲突
我将所有这些更改(包括合并文件)推送到远程分支
我的远程分支上没有重复的提交
Intellij IDEA 2016 增加了一些新功能,包括Checkout with Rebase.从他们的公告:
在与结帐衍合结帐,然后调整基线:如果你不想当你做两个操作你的时间浪费在多余的文件同步和编译的动作是很有用的.
听起来像我想要的.我已经在掌握了,所以我点击IDEA窗口右下角的分支选择器.我导航到我当地的分支机构并选择"Checkout with Rebase".
这样做之后,我被告知我的合并冲突.我选择"合并"按钮并手动解决它们.
在我这样做之后,我得到了确认我的rebase成功了:
并且没有待定的更改:
一切看起来都有效.现在我想将所有内容(包括我的合并类)推送到我的远程分支.所以我进入菜单栏并选择VCS - > Git - > Push.但是当我这样做时,我得到一个错误,说我的推送被拒绝了,我应该合并:
我决定按照建议选择"合并".但是,这让我回到合并冲突.
如果我经历这个,然后尝试再次推动它,它是成功的,但我结束了两个合并的副本.
我对这个"Checkout with Rebase"错误地做了什么,然后推送我的合并文件?
另外,我不想在终端上这样做.对于一些开发人员来说这可能更容易,但我想学习如何通过IDEA GUI完全完成它(我们有QA和其他用户不像我们的开发人员那样技术,他们表示不希望使用命令行,我想知道最好的方法).