我有一个我正在研究的本地分支,它是一个名为mybranch的master副本。我对要转换为master的分支进行了更改。但是,在我最终将我的分支合并回master之前,我需要将更新内容添加到mybranch中。
我想用一个篮板来完成并且第一次有人帮助我但是没有真正意义。我尝试了以下但我记得在我的intellij IDE中突出显示的mybranch和master中不同的文件,在文件本身标有>>>> HEAD,ETC的文件中读取差异。所以我可以更新到正确的更改,但我没有看到。
这是我到目前为止所尝试的:
$ git checkout master
$ git pull // get latest from master
$ git checkout mybranch
$ git rebase master // get masters updates and integrate them with mine
此时不确定我在哪里......我只是希望我的本地分支更新主人更改(并且应该存在我希望解决的冲突然后推送到我的分支然后将所有内容推回到主人)。
答案 0 :(得分:2)
这是您正在描述的非常常见的工作流程。这是指向more detailed description的链接。
执行'git rebase master'
后,您应该在当前分支中获得master的最新更改(您可能会或可能不会遇到合并冲突)。如果存在冲突,git将暂停rebase并提示您解决它们,然后在使用“git add <file(s)>
”恢复rebase之前执行“git rebase --continue
”。
虽然这超出了您的问题范围,但我建议您查看链接或搜索有关交互式rebase的信息。它用于保持您的提交历史非常干净和有条理。
答案 1 :(得分:1)
上面对mybranch中的“旧主人”进行了更改并将其应用于“刷新的主人”之上,如果您想更新主人,而您只是遗漏了更改:
git checkout master
git rebase mybranch
将快速将主人快速转发给你的新主人(在主人身上重新定位)mybranch。现在master和mybranch应该引用相同的SHA1,它们是origin / master的子元素。此时,如果您在git pull更新后开始使用master,那么您将在历史树中的同一位置。
git push
应该注意打破每日构建;)