Git分支:
例如,在一个项目中,你的项目进行中遇到了一个问题,解决方案不确定,但是你不希望因此影响到当前的开发,那么你可以为此创建一个分支,分支包含目前主干上的所有内容,然后在分支上测试你的方案,而丝毫不影响主干的进行;如果可行那么可以通过合并分支功能将你的更新应用到主干,反之你可以放弃它。
下面是使用分支进行作业的图示。
为了不受其他开发人员的影响,您可以在主分支上建立自己专用的分支。完成工作后,将自己分支上的修改合并到主分支。因为每一次提交的历史记录都会被保存,所以当发生问题时,定位和修改造成问题的提交就容易多了。
版本管理的策略:不稳定主干策略、稳定主干策略、敏捷发布策略。
下面是对这几种策略的摘录:
不稳定主干策略:
- 使用用主干作为新功能开发主线,分支用作发布。
- 被广泛的应用于开源项目。
- 比较适合诸如传统软件产品的开发模式,比如微软的office等。
- bug修改需要在各个分支中合并。
- 新代码在主干上开发,因此如果主干不能达到稳定的标准,就不可以进行发布。
- 这种策略的好处是没有分支合并的工作量,因此比较简单。
稳定主干策略:
- 使用主干作为稳定版的发布。
- bug的修改和新功能的增加,全部在分支上进行。
- 不同的修改或新功能开发以分支隔离。
- 分支上的开发和测试完毕以后才合并到主干。
- 主干上的每一次发布都做一个标签而不是分支。
- 每次发布的内容调整起来比较容易。
- 缺点是分支合并所增加的成本。
敏捷发布策略:
- 敏捷开发模式的项目中广泛采用,敏捷开发的项目具有固定的发布周期。
- 为每个task建立分支。
- 为每个发布建立分支,每个周期内的task分支需要合并到发布分支发布。
- 在完成发布后,发布分支的功能合并到主干和尚在进行的任务分支中。
- 一种稳定主干策略的变体。
- 团队成员要求较高。