【问题标题】:Add/Update contents of other branches into master将其他分支的内容添加/更新到 master
【发布时间】:2016-03-30 13:13:31
【问题描述】:
我有 4 个团队在 GIT 的 4 个专用分支(branchTeam1、branchTeam2、branchTeam3、branchTeam4)中添加他们的代码。
一旦他们完成了他们的代码并通过了验证,我们就必须添加/更新分支 master 中的所有内容。
我试图在 GIT UI 中执行合并,但它完全用 branchTeam1 替换了 master。我希望 master 被更新/添加,而不是被替换。
请建议一种在 GIT UI 或命令行中执行相同操作的方法。
【问题讨论】:
-
“替换”是什么意思? Merge 将应用您想要掌握的分支所做的更改,如果您的 master 在创建分支后没有发生任何更改,则合并后它将与您的分支相同。这不是正在发生的事情吗?更多信息请访问here。
标签:
git
github
git-branch
git-merge
branching-and-merging
【解决方案1】:
您可以将分支一一合并为master。每次合并后,您需要仔细解决所有冲突,然后再继续合并新分支。
在特定情况下,请按照下列步骤操作:
- 确保所有分支都在其远程存储库中更新
git checkout master
git merge branchTeam1
- 解决所有代码冲突
- git add --all
- git commit(这会给你一个自动提交消息,比如
Merge remote-tracking branch 'origin/branchTeam1' into master)
- git push origin master
对 branchTeam2、branchTeam3、branchTeam4 重复步骤 3-7。
希望这会有所帮助。
【解决方案2】:
通过向主服务器创建拉取请求来解决此问题的最佳方法。
让每个人都在不同的功能上工作,一旦完成,他们就可以提交更改并将其推送到远程。然后向主服务器创建拉取请求。
在向主服务器创建拉取请求之前,他们应该从主服务器获取拉取请求。
整个流程解释如下。
git checkout -b in_app_purchase
然后在本地提交您的更改并将本地更改推送到远程
git add -A
git commit -m 'Feature:InApp purchase added'
git push -u origin in_app_purchase
在创建 pull 之前用 master 更新你的分支
git pull origin master
然后创建一个拉取请求。这是最简单的方法!!