一、基础概念
1. 流程
2. 概念
- 标签Tags:对某一提交记录的固定指针引用
- 分支Branch:对某一提交记录的可变位置指针引用
- HEAD:始终指向当前活动分支(最新提交)的指针引用
3. 指令
- checkout & stash & cherry-pick:
- 切换分支,若未提交修改的内容不冲突,切换时会被带过去;stash可用于隐藏未提交内容;cherry-pick相当于将部分修改提交导出为补丁文件
- pull & fetch:
- fetch 只获取更新,不自动合并
- merge & rebase:
- rebase生成补丁,产生新的提交,后使用merge合并则更为简洁,不存在分叉;merge的提交历史则更为完整
- checkout & reset & revert
- reset专门用来撤销修改、回退版本;revert只用于撤销某一次历史提交;checkout撤销工作区、暂存区未提交修改
4. Git flow