情形:协同开发,加入一个在开发过程中的项目,即码云远程仓库的 master 分支已有代码,需要新建分支并且合并远程 master 主分支
首先,线上要新建个分支名,比如 samsara,然后就可一开始动手了(搓手手~
第一步:本地将项目初始化,会默认为 master 主分支
1 | git init #初始化本地项目,变成一个 Git 本地仓库 |

第二步:将本地仓库与码云上的远程仓库关联起来
1 | git remote add origin http://XXX #http://XXX就是线上项目地址 |
第三步:拉远程主分支的代码,将本地项目与线上同步
1 | git pull --rebase origin master |
第四步:本地新建自己的分支
1 | git branch samsara #新建名为 samsara 的分支 |
两句命令可以合写成为
1 | git checkout -b samsara |

这样本地就有了属于自己的分支。可以用git branch
查看当前本地的分支列表
第五步:将本地 master 分支的代码合并到 samsara
1 | git merge master |
此时本地的状态是,线上 master 有代码,samsara 为空分支,本地 master 有代码,samsara 也有刚合并过来的 master 里的代码
第六步:将本地 samsara 推到远程仓库之前建好的 samsara 分支
1 | git add . #提交变化到暂存区 |
好了,到这整个流程走完了,接下来协同开发时,自己是 samsara 分支,需要合并其他分支时(以 master 为例)
1 | git checkout master #切换到需要被合并的分支,在切换前要确保本地samsara分支与远程samsara同步,要先push一遍(第六步) |
Tips:所有 pull,push 等与远程有关的操作一定要保证本地与线上是同一个分支,比如不能在本地的 samsara 下直接拉取远程 master 分支的内容或者是推到 master 分支。
新建分支,合并他人分支大概就这样,over~
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!