my-git

分支与合并

分支用于隔离任务,合并用于把验证后的变更带回主线。

好的分支习惯能降低冲突、减少无关改动,也能让 PR 更容易 Review。

什么时候创建分支

本文用 <integration-branch> 表示团队实际使用的集成分支。它可以叫 main、master 或 develop,需要按仓库规则替换。

建议每个独立任务创建一个分支:

创建分支:

git switch -c feat/my-task

切回主分支:

git switch <integration-branch>

分支命名建议

feat/github-governance-guide
fix/recover-lost-commit-example
docs/ai-native-git-workflow
hotfix/remove-broken-link
ai/review-large-repo-guide

更多模板见 Branch Naming Convention。

合并前检查

合并前先看。git status --porcelain 必须没有输出;有待处理编辑时,先保留现场,不要切换到集成分支或执行 merge:

git status --porcelain
git diff --stat <integration-branch>...HEAD
git log --oneline <integration-branch>..HEAD

确认:

合并方式

merge commit

保留分支合入历史,适合需要审计合并上下文的团队。

git switch <integration-branch>
git merge --no-ff feat/my-task

squash merge

把 PR 里的多个 commit 压成一个 commit,适合保持主分支历史简洁。

rebase merge

把 PR 中的 commit 重新放到目标分支之后,适合追求线性历史的团队。

合并策略要按团队约定统一,不要每个人按个人喜好选择。

推荐团队规则

延伸阅读