背景:
远端一个库,有一个集体的dev branch。要自己拉一个分支开发的方案如下:
首先clone下来这个分支到本地,然后checkout出自己的分支(user-dev)进行开发。
然后
git push origin user-dev:user-dev-remote
把自己的分支推到远端,这样在远端的代码仓库就可以看到自己的分支了。
然后为了保证每次和集体的dev branch版本一致,在push自己的分支前,应该
git checkout dev
git pull # 获取dev分支最新的代码
git checkout user-dev
git rebase dev # rebase可以将这次合并不体现在commit tree上 # 其实用merge我个人感觉更好。虽然会留下merge记录看起来并不是完全平滑的提交链路,但是merge本身也是信息之一。建议读者自己选择。
这样user-dev上基本就是最新的dev分支有,自己的改动也有了,这时候再push一次
git push origin user-dev:user-dev-remote
(如果push不成功就先拉后推)
在远端仓库进行merge request就可以了
ps: 一个开源项目pr的git方案:https://www.cnblogs.com/daniel-hutao/p/open-a-pr-in-github.html
写的很好,亲测有效。
mr后手动合的时候,记得几个commit合并