如何从已有分支创建新的 Git 分支

从已有分支建分支:git checkout -b <新分支> <源分支> 一步完成(git switch -c 同效);或先 git checkout 源分支再 git branch 新分支。新分支从源分支当前提交起步,历史完全共享。

最佳实践
Git 分支协作与合并示意

一条命令搞定:git checkout -b 新分支名 源分支名(新语法 git switch -c 新分支名 源分支名)。新分支从源分支当前的最新提交分出,两者共享之前全部历史,之后的提交互不影响。

常用写法

# 一步:从 develop 建 feature 分支并切过去
git checkout -b feature/login develop
git switch -c feature/login develop      # 等价新语法

# 两步:先切到源分支,再建
git checkout develop
git branch feature/login                 # 只建不切
git switch feature/login                 # 再切换

# 从远程分支建(本地还没有 develop 时)
git checkout -b feature/login origin/develop

注意"分叉点"

新分支的起点是源分支此刻的提交。之后源分支继续提交,新分支不会自动跟上——需要同步时用 git merge develop 或 git rebase develop。

常见配套习惯

  • 命名带前缀:feature/、bugfix/、hotfix/,一眼看出用途;
  • 建完立即推送建立远程跟踪:git push -u origin feature/login;
  • 从错误的分支分出来了?没关系,rebase 可以换基:git rebase --onto main wrong-base feature/login。

常见问题(FAQ)

Q:可以不切到新分支吗?

可以,git branch 新分支 源分支 只创建不切换。适合先批量开好分支稍后处理。

Q:源分支删除了,分出来的分支还在吗?

在。分支只是指针,删除源分支不影响已分出的分支及其提交。

Q:怎么确认新分支是从哪分出来的?

git merge-base feature/login develop 给出共同祖先提交;git log --oneline --graph --all 看图最直观。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台