1. 什么是分支(branch)
- 分支是为了将修改记录的整体流程分叉保存。分叉后的分支不受其他分支的影响,所以在同一个数据库里可以同时进行多个修改
- 在数据库进行最初的提交后,Git会创建一个名为master的分支,因此之后的提交,在切换分支之前都会添加到master分支里
2. Merge分支
- Merge分支是为了可以随时发布release而创建的分支,他还能作为Topic分支的源分支使用
- 保持分支稳定的状态是很重要的,如果要进行更改,通常先创建Topic分支,而针对改分支,可以使用Jenkins之类的CI工具进行自动化编译以及测试
- 通常,会将master分支当作Merge分支使用
3. Topic分支
- Topic分支是为了开发新功能或修复bug等任务而建立的分支。
- Topic分支是从稳定的Merge分支创建的。完成作业后,要把Topic分支合并回Merge分支
4. 分支是HEAD切换
- 进行checkout时,git会从工作树还原向目标分支提交的修改内容
- checkout之后的提交记录将被追加到目标分支
- HEAD指向的是现在使用中的分支的最后一次更新。通常默认指向master分支的最后一次更新。通过移动HEAD指向,就可以变更使用的分支
- 提交时使用~(tilde)和^(care )就可以指定某个提交的相对位置。最常用的就是相对于HEAD的位置,HEAD后面加上~ÿ