我有2个本地分支叫做“开发”和“主人”;他们是相似的。在我公司的服务器上有一个“主要”仓库(生产)和几个由其他开发商制造的分支机构:
$ git branch -a * develop master remotes/origin/HEAD -> origin/master remotes/origin/some-test remotes/origin/feature1 remotes/origin/feature2 remotes/origin/master
如何将remotes/origin/feature1
和remotes/origin/feature2
合并到我的本地“master”分支中,将所有内容复制到“develop”并开始使用我的“develop”分支中的实际代码?
答案 0 :(得分:35)
git checkout master
git pull origin feature1 feature2
git checkout develop
git pull . master
(或者git rebase ./master
)第一个命令将当前分支更改为master
。
第二个命令从远程feature1
和feature2
分支引入更改。这是一个“章鱼”合并,因为它合并了2个以上的分支。如果您愿意,也可以进行两次正常合并。
第三个命令会将您切换回develop
分支。
第四个命令将更改从本地master
提取到develop
。
希望有所帮助。
编辑:请注意,git pull
会自动执行fetch
,因此您无需手动执行此操作。它几乎相当于git fetch
后跟git merge
。
答案 1 :(得分:9)
我只是“获取”所有原点:
git fetch origin
现在它在您的仓库中,您可以将分支合并为master:
git checkout master
git merge origin/feature1
git merge origin/feature2
现在你可以将master合并到develop
git checkout develop
git merge master
如果您要提交回原点,那么我会设置一个本地跟踪分支,以便您可以进行本地访问并直接推送到原点:
git branch --track origin/feature1 feature1