GIT 使用经验(2) ---分支间的操作

选择使用GIT来进行版本控制,除了它可以随时提交更新,速度快,和对分布式开发的强大支持外, 还有一点就是因为它提供多分支开发的操作便捷性,相对SVN来说要方便和快捷很多. 下面就根据NLB KSI项目为例说明一下GIT环境下,如何正确的进行多分支开发以及一些需要注意的事项.

 

首先,在项目进入SPRINT开发阶段之前,组内的每个组员应该都GIT的基本操作有一定的了解,然后在本地安装和配置GIT环境详见(http://www.ufinity.cc/wiki/pages/viewpage.action?pageId=23363736), 由新加坡PM或者是组长在master分支上创建开发主分支 marchant (分支名称)

 

branch:master 

 

  >git branch marchant         //创建分支

 

  >git push origin marchant   //把创建好的提交分支到远程

 

所有的开发工作都会在SPRINT结束时,合并到marchant分支里面.

 

 

然后, 在我们进行SPRINT需求分析的时候,会根据不同的模块(portlet)进行分配任务,一个组员在当前SPRINT可能会负责其中一个模块的开发工作,这样就可以为该模块创建一个子分支,例如:TOM在sprint 1里面负责user Sign in portlet, 需要在marchant 分支下面为创建一个新的子分支 6152447(取自SG pivotaltracker分配的任务编号),这样在sprint 1开发期间TOM只允许在 6152447 分支里面进行提交代码. 如果是由于模块较大,或者功能比较复杂,需要多人协作开发完成,可以让俩个或者多个组员在同一个子分支进行开发.

 

 (注意: 在多个组员在同一分支进行开发的时候,组员要养成经常更新代码的习惯,避免在长时间不更新代码以后,出现文件冲突的情况.)

 

还有一种情况是经常遇到的,对于公共代码的共享问题, 比如项目里DB层代码,工具类等. 例如: TOM在sprint1里面开发的时候,需要用到一些验证工具类, 然后JERRY已经所在的另外一个分支 6200397下面,添加了这些验证类, 并且满足TOM的需求, 这样就需要分支之间进行合并操作了.

 

 操作步骤:

 

JERRY:
> git checkout 6200397   //切换到6200397
> git pull origin marchant //更新marchant分支
> git push origin 6200397 //提交验证类到远程

 

TOM:

 

> git checkout 6152447   //切换到6152447
> git pull origin marchant //更新marchant
> git merge origin 6200397 //合并远程6200397的验证类代码到6152447分支.至此TOM已获得需要的验证类. 

 

最后在SPRINT结束的时候,需要把所有子分支的内容合并到主开发分支里面去.

 

 

如果想从另外一个分支更新代码到当前分支,可以直接使用:

 

> git pull origin newbranchname

 

这样就可以不用切换分支和MERGE了.

 

 

注意: 想要从本地删除一个分支,可以直接用 git branch -d branchname, 如果失败了,并确认必须删除,就可以用 git branch -D branchname,来进行强制删除, 在本地删除以后, 如果还想把远程对应的分支也删除的话,可以用git push origin :heads/branchname 来删除远程分支.

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值