<url> = 项目地址(http://gitlab.xxx.com.cn/xxx/xxx.git)
<repo> = 仓库名(origin、upstream)
<branch> = 分支(xxx.xxx)
git remote add upstream <url> 本地仓库关联公仓 git fetch upstream 同步公仓 git remote -v 可查看关联仓库信息;origin 是远程私仓,upstream 是刚才关联的公仓;
推送本地修改到远程私仓前,一定要先从公仓拉取最新代码,否则合并时有冲突不好处理;提交代码,从私仓发起请求,公仓的合并不需要管;push到本地的代码私仓,进入私仓发起合并请求到公仓;
如果提交合并请求后,提示有冲突无法完成合并,则需要手动解决冲突;
本地 git pull upstream <branch>,强制将公仓的代码拉下来,效果等同如下:
git fetch upstream git merge upstream/<branch>
解决完冲突后,提交 push 到私仓,即可合并;
一个分支一次只能发起一个合并请求,如果前一次合并未完成,之后的每次 commit push都会堆积在该次合并请求里;
git remote update 或 git fetch upstream 同步公仓分支;如果没同步,checkout 指令会创建一个本地新分支而不是切换新分支;git checkout <branch> 切换到新分支,此时该分支关联的是主仓; git push --set-upstream origin <branch> 将新分支推送并关联到私仓,自此完成公仓到私仓的新分支同步;
git branch -vv 查看分支详情; 修改本地分支关联的仓库,用 git branch --set-upstream-to=<repo>/<branch> 命令;
原文:https://www.cnblogs.com/coder-zyc/p/15006803.html