在处理之前处理mt8735充电电流过程中,老大TomSu提到“要尽快建立git的工作流程机制,建立master分支和项目分支,平台相关的修改都提交到master中,其他分支定期合并master分支再发布新版本”,这是之前一直没有注意的,一直是在master分上工作,并没有根据项目需求建立项目分支。
之前从未用git创建分支,不是很熟悉,但是之前有看过相关的资料,现在就重新翻出来学习使用。比如我有个新项目GasDetector,以这个项目为例,创建一个本地git项目分支。具体步骤:
1. 创建分支与切换分支
(1)创建分支:
git branch GasDetector
(2)查看分支:
git branch
- $ git branch GasDetector
- $ git branch
- * master
- GasDetector
(3)切换分支:
git checkout GasDetector
- $ git checkout GasDetector
- M bootable/bootloader/lk/dev/lcm/mt65xx_lcm_list.c
- M bootable/bootloader/lk/dev/lcm/nt35521_hd720_dsi_vdo_boe/nt35521_hd720_dsi_vdo_boe.c
- Switched to branch 'GasDetector'
对于创建分支、切换分支可以用一个命令:git checkout -b GasDetector,达到创建并且切换到创建的新分支中去的目的。
- $ git checkout -b GasDetector
- M bootable/bootloader/lk/dev/lcm/mt65xx_lcm_list.c
- M bootable/bootloader/lk/dev/lcm/nt35521_hd720_dsi_vdo_boe/nt35521_hd720_dsi_vdo_boe.c
- Switched to branch 'GasDetector'
2. 在分支上工作
创建好新的本地项目分支之后就可以在新分支上工作了。例如:添加一个新的文件GasDetectorReadme.txt并且提交
- $ vi GasDetectorReadme.txt
- Add:Hello World!
- $ git add GasDetectorReadme.txt
- $ git commit -m "Add: GasDetectorReadme."
- $ git checkout master
- Switched to branch 'master'
- $ git merge GasDetector
3. 删除项目分支
当项目结束或者不需要这么一个临时分支时,我们就可以将其删除
- $ git branch -d GasDetector
- $ git branch
- * master
4. 项目分支还涉及到的内容
(1)一个项目并不是所有修改的内容都需要提交到master分支,有时候我们只需要提交部分commit,因此不能用git merge XXX,需要另外的提交方式。
(2)有分支必然会涉及提交冲突,这时就要解决冲突。
(3)当我们创建了很多分支了,就需要一定的分支管理策略。
(4) ... ... ...