分支管理
[Git 分支管理](Git 分支管理 | 菜鸟教程 (runoob.com))
[创建与合并分支](创建与合并分支 - 廖雪峰的官方网站 (liaoxuefeng.com))
分支合并
一旦某分支有了独立内容,你终究会希望将它合并回到你的主分支。 你可以使用以下命令将任何分支合并到当前分支中去:
git merge
注意:
- merge将分支合并到主分支去,在主分支但未在分支的文件会被删掉
- 当只改了分支文件中的内容,合并时会快速合并;若主分支和分支文件中的内容都改了,会发生合并冲突,需要手动修改提交后再合并
分支管理策略
合并分支时,如果可能,Git会用Fast forward
模式,但这种模式下,删除分支后,会丢掉分支信息。
如果要强制禁用Fast forward
模式,加上--no-ff
参数就可以用普通模式合并,Git就会在merge时生成一个新的commit,合并后的历史有分支,能看出来曾经做过合并,而fast forward
合并就看不出来曾经做过合并。
分支策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master
分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev
分支上,也就是说,dev
分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev
分支合并到master
上,在master
分支发布1.0版本;
你和你的小伙伴们每个人都在dev
分支上干活,每个人都有自己的分支,时不时地往dev
分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
多人协作
工作模式
多人协作的工作模式通常是这样:
- 首先,可以试图用
git push origin
推送自己的修改; - 如果推送失败,则因为远程分支比你的本地更新,需要先用
git pull
试图合并; - 如果合并有冲突,则解决冲突,并在本地提交;
- 没有冲突或者解决掉冲突后,再用
git push origin
推送就能成功!
如果git pull
提示no tracking information
,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/
。
抓取分支
要在dev
分支上开发,就必须创建远程origin
的dev
分支到本地,可用这个命令创建本地dev
分支:
$ git checkout -b dev origin/dev
推送分支
把dev
分支push
到远程仓库
$ git push origin dev
标签:origin,git,管理,合并,dev,冲突,分支
From: https://www.cnblogs.com/simpleness/p/17624400.html