Git合并远程master到本地分支后推送至远程分支的操作咨询
Git操作问题解答
流程正确性判断
你梳理的操作流程完全正确,这种先同步公共主干最新改动、再提MR的方式可以有效避免合并冲突直接出现在公共主干上,也方便管理员做合并前的代码评审。
步骤1具体操作
必须先切换到本地master分支后再执行合并操作。
由于你是直接克隆的自己的私有远程分支,本地默认的origin远程指向你自己的私有分支仓库,公共master所在的仓库需要先添加为独立的上游远程(只需要执行一次,后续同步不需要重复添加):
git remote add upstream http://something.com/somemaster.git
后续同步公共master最新改动的命令序列如下(在Git Bash中执行):
- 拉取公共远程仓库的最新提交记录(不会修改本地文件,仅同步远程元数据):
git fetch upstream
- 切换到本地master分支:
# 两种命令二选一即可,效果一致 git checkout master # 或新版Git支持的更语义化命令 git switch master
- 用你偏好的merge操作,将公共远程master的最新改动合并到当前本地master分支:
git merge upstream/master
如果合并过程中出现冲突,手动编辑冲突文件解决冲突后,执行
git add 冲突文件路径,再执行git commit即可完成合并,无需额外操作。
后续操作提示
合并完成后直接执行git push origin master就可以把合并后的最新改动推送到你自己的远程分支,之后去GitLab页面提交Merge Request等待管理员审核合并即可。
如果不确定本地master对应的远程上游是否为你自己的私有分支,可以执行git branch -vv查看分支绑定关系,避免误推到公共master分支。
内容的提问来源于stack exchange,提问作者ontherocks
相关产品推荐
相关产品推荐

