Sunday, February 28, 2016

Git 分支管理

如何管理的自己的Git分支呢?

分支的管理是Git 最牛逼之处

1   如何管理日常的开发分支

git checkout -b dev

如何merge呢?
当我们在dev 开发完毕之后,我们需要回到自己的master 分支,可能有的人也从 master 分支,创建了新的分支 比如:  git checkout -b devA    这个时候,你该如何merge  code?
如果使用  git checkout master
git merge dev
这个时候的merge 只是将指针 直接指向了 dev 的工作区,在git里叫做 快照合并。

所以这个时候我们应该使用:
git merge --no-ff dev -m "@Hades merge devHades"
因为这里直接生成了新的节点,所以这里需要提交一下 commit info.

使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法


2  git  开发分支管理

分支管理
开发过程中,我们往往不是一个人在开发。

git init 初始化的时候,会生成 origin/master 分支。
我们的发开分支  dev
我们的发布的分支  release

dev 是更新最快的分支,我们平时产品的开发维护都是在dev上进行的,但是,我并不建议所有人都在git 分支开发,我觉的只有  TeamLeader 来管理dev 分支。 然后负责,将 dev 分支测试稳定之后  同步到 master 分支! 
我们谈谈开发的时候,如果我们每个人提交代码的时候都提交到 dev 分支,这个跟svn 又有什么区别呢?所以,每一个开发者都要有自己的dev 分支,分支名字建议:  dev+英文名字
这样子可以区分每个分支的是谁来开发和维护。 这样子,我们每个人开发完毕之后, 自己测试没什么大的问题。就可以将自己的devA 的分支,同步到dev 分支。由 TeamLeader 同步到 master  or release branch! If your compay just have one member, You need't do this!

关于 release 分支,他只是用来发布包的时候出来的,我们可以根据自己需要自己处理!
我的方式是: 我们的master分支是最新的代码的分支,也是稳定版本的分支,我们需要发新的版本的时候,我们都需要从master 代码merge 过来。 当需要直接需改发布版本的问题的时候,我们可以直接从release 分支checkout bug 分支,进行管理,修改完毕之后,直接将bug 分支删除!




参考:
http://www.ruanyifeng.com/blog/2012/07/git.html

No comments:

Post a Comment