文章目录
- 一、分支介绍
- 二、创建分支与合并分支
- 三、分支管理策略
- 四、解决冲突
- 五、Bug 分支
- 六、Feature 分支
一、分支介绍
Git 分支就像小河的支流,master 分支是主干。Git 本质是文件树,分支是树的分叉可合并。在实际开发中,开发新功能时创建分支,可避免影响他人工作且保障进度安全。Git 分支轻量级,创建瞬间完成,鼓励频繁使用分支与合并。
二、创建分支与合并分支
分支可理解为时间线,由提交记录组成。git 默认主分支为 master,.git/refs/heads/master 存放指向其最新版本的指针,.git 文件夹下的 HEAD 文件指向当前分支。
- 创建与切换分支
- 两条命令:
git branch dev
(创建子分支)和git checkout dev
(切换到子分支)。 - 一条命令:
git checkout -b dev
可创建并切换到子分支。最新版本推荐用git switch -c dev
创建并切换,git switch master
切换到已有分支 。
- 两条命令:
- 合并分支:在单线历史分支合并时,如 master 合并 dev,采用 Fast-forward 快进模式,master 指针指向 dev 最新提交,过程快,合并后可删除 dev 分支。
三、分支管理策略
- 合并模式
- Fast-forward 快进模式:合并后删除分支,版本日志看不到合并操作。
- 禁用 Fast-forward 模式:使用
git merge --no-ff -m "合并描述" dev
,会提交新的版本,删除分支后仍能在版本日志看到合并信息 。
- 分支策略:master 分支稳定,仅用于发布新版本;开发在 dev 分支进行,开发完成后合并到 master 发布;团队成员在各自分支开发,再合并到 dev 分支。
四、解决冲突
当分支出现分叉,合并时可能产生冲突,无法使用快进模式。Git 会用两个分支末端及共同祖先进行三方合并计算,生成合并提交。解决冲突需手动编辑冲突文件,再提交 。
五、Bug 分支
开发中遇到 bug 时,在出现 bug 的分支创建临时子分支修复。修复前可用git stash
相关命令暂存工作进度,修复完成后合并分支并删除临时分支。若 master 分支的 bug 也需在 dev 分支修复,可使用git cherry-pick
命令复制修复修改 。
六、Feature 分支
为开发新功能,在 dev 分支创建 feature 分支,开发完成后合并到 dev 分支再删除。若新功能取消,未合并的 feature 分支需用git branch -D
强行删除。
如果你对整理内容的详略、格式还有其他想法,或是想了解更多Git相关知识,随时和我交流。