繁体   English   中英

如何从上游分支合并?

[英]How to merge from upstream branch?

这是我的git设置(我们在公司网络中使用Git + Atlassian Stash):

upstream:
  master

origin (my fork of 'upstream'):
  master
  branch1 (branch of master, with a few commits on top of it)

clone (local; clone of 'origin'):
  master
  branch1 (ahead of 'origin:branch1' by 1 commit)

我想做的事:

我想合并upstream:master -> clone:branch1 我知道此合并会存在冲突(因为我更改了branch1中的文件,而其他文件在上游已更改)。 完成此操作后,我希望将更改推回origin:branch1 ,其中将包括上游的1 commit +最新库(我想跟master分支保持最新,因为那是我分支的分支)。 与此同时,我希望它成为一个变基,以便提交历史记录是干净的,并且不会在所有地方产生蜘蛛网。

另一个注意事项是,我不直接使用git命令行。 在Windows上,我使用的是SmartGit,因此,如果有人知道该工具的说明,那将是最理想的选择。

我如何像上面描述的那样正确合并?

如果没有其他人克隆或正在与BRANCH1,你可以重订它主人的顶部,一旦你已经更新的主上游/大师。

  • 首先, upstream获取 (SmartGit:“远程/拉”,选择“仅获取”)
  • 然后将master重置为upstream/master (SmartGit:本地/重置)
  • 现在将branch1重新设置为master的基础(SmartGit:在Branches视图中,您可以右键单击像master这样的分支,然后选择Rebase HEAD以将当前的HEAD重新基础到所选的分支master
    如有必要, 解决合并冲突
  • 最后,将branch1推送(强制推送)到origin (SmartGit:在Branches视图的上下文菜单中,您可以在本地分支上调用PushPush To )。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM