引入
直接在主分支上开发,容易把未完成代码和稳定代码混在一起。分支提供了一个相对独立的提交线,可以让功能开发、修复和发布互不阻塞。
正文
创建和切换分支
git switch -c feature/login
git branch
git switch main旧版本 Git 也常见 git checkout -b feature/login,但 switch 更明确地表达了分支切换意图。
合并分支
git switch main
git push合并前应确保目标分支是最新的,并先运行测试。功能分支合并完成后,可以删除本地分支:
git branch -d feature/loginMerge 和 Rebase 的区别
| 操作 | 结果 | 适用判断 |
|---|---|---|
merge | 保留分支合并关系,可能产生合并提交 | 需要保留真实协作历史 |
rebase | 把提交重新接到目标分支最新位置 | 让个人分支历史更线性 |
不要对已经推送并被他人依赖的公共分支随意 rebase,因为它会改写提交哈希。
基本分支规则
- 主分支保持可构建、可测试或可发布。
- 一个功能或修复使用一个短生命周期分支。
- 合并前同步目标分支,并通过测试或代码审查。
- 分支名说明意图,例如
feature/、fix/、docs/。
引出
合并失败不表示 Git 损坏,通常表示同一文件的相近位置被不同分支修改。具体处理步骤见 Git冲突解决;涉及远程分支时,还需要结合 Git远程协作。