Git版本控制(二)
一、分支管理
在使用 Git 时通常会遇到的一个问题是采用何种分支管理实践,即如何管理仓库中作用不同的各类分支。Git 分支管理并没有普遍适用的最佳做法,而只有对每个团队和项目而言最适合的做法。简单来说,在项目开发中使用多个分支会带来额外的管理和维护开销,但是多个分支对于项目的团队合作、新功能开发和发布管理都是有一定好处的。不同的团队可以根据团队人员组成和意愿、项目的发布周期等因素选择最适合的策略,找到最适合团队的管理方式。本次介绍两种常见的Git分支管理方式。
1.Git分支命令
- 查看所有分支
git branch -a
- 查看本地分支
git branch
- 查看远程分支
git branch -r
- 创建分支
git branch ‘分支名’
通过查看分支,可以看见已经创建成功。
- master分支前面有个星号,表明现在分支在master上。切换分支到test上
git checkout ‘分支名’
M表示原来分支(没有提交)带过来的修改
A表示新增加的内容
- 本地分支推送到远程分支
git push origin test
- 删除本地分支
git branch -d ‘分支名’
-
删除远程分支
git push origin : ‘分支名’
- 合并分支
git merge ‘分支名’
如果是test分支合并到master分支上,首先切换到master分支上,在master分支上执行合并分支操作。
1.2IDE中使用Git
在Android studio中右下角提示当前分支。点击会出现相应的操作,按照操作即可。
在进行分支操作前,需要把修改的内容进行提交后才能操作。不然会出现问题
2.分支管理
2.1单主干(主干开发)
单主干的特点是所有团队成员都在单个主干分支上进行开发。当需要发布时从主干分支创建发布分支。如有Bug,bug修复在主干分支中进行,再pick到发布分支。
由于所有的开发人员都在同一个分支上工作,团队需要合理的分工和及时沟通保证团队内的代码尽可能少的发生冲突。一个人员的bug可能会给其他人造成影响。好处是由于分支所带来的的额外开销小,团队人员不需要频繁的切换分支,也就减少了出错的几率。
2.2GitHub flow(分支开发)
GitHub flow 是 GitHub 所使用的一种简单的流程。该流程只使用两类分支,并依托于 GitHub 的 pull request 功能。在 GitHub flow 中,master 分支中包含稳定的代码。该分支已经或即将被部署到生产环境。master 分支的作用是提供一个稳定可靠的代码基础。任何开发人员都不允许把未测试或未审查的代码直接提交到 master 分支。
对代码的任何修改,包括 bug 修复、新功能开发等都在单独的分支中进行。进行发版后,将代码提交到主干。要时刻保证主干代码干净、稳定和可靠。
GitHub flow 的好处在于非常简单实用。开发人员需要注意的事项非常少,很容易形成习惯。当需要进行任何修改时,总是从 master 分支创建新分支。每个分支都需要测试和部署,如果这些不能自动化进行,会增加开发人员的工作量,导致无法有效地实施该流程。这种分支实践也要求团队有代码审查的相应流程。
这次对流行的两种Git分支管理做了介绍,希望对大家有帮助。