git checkout -b 一步创建并切换分支,如 git checkout -b feature/user-auth;可指定起点如 git checkout -b hotfix/login-error main;推荐用 git switch -c 替代,但 -b 仍完全可用。

直接用 git checkout -b 就行,它一步完成创建 + 切换,不需要先建分支再切换。
基础用法:从当前分支派生新分支
命令格式简单明了:
-
git checkout -b feature/user-auth:基于当前所在分支,新建名为
feature/user-auth的分支,并立即切换过去 - 执行后终端会显示类似
Switched to a new branch 'feature/user-auth' - 新分支的起始点默认是当前 HEAD 所指的提交,也就是你正在工作的最新提交
指定起点:从其他分支或提交创建
不一定要从当前分支出发,可以明确指定源头:
-
git checkout -b hotfix/login-error main:从
main分支最新提交创建hotfix/login-error并切换过去 -
git checkout -b experiment abc1234:从某个具体 commit(如
abc1234)创建新分支,适合回溯调试或临时验证 - 如果目标分支名拼写错误或不存在,Git 会报错,不会自动创建——这点和
-B(大写 B)不同
注意替代方案与兼容性
Git 2.23 版本起引入了更语义化的命令,推荐逐步过渡:
-
git switch -c feature/user-auth 等价于
git checkout -b feature/user-auth -
git switch -c hotfix/login-error main 等价于
git checkout -b hotfix/login-error main -
git switch专用于分支切换,git restore专用于文件恢复,职责更清晰 - 但
git checkout -b仍完全可用,大量文档、脚本和团队习惯仍在使用它
常见误区提醒
几个容易卡住的地方:
- 单独运行 git checkout feature-x 会失败,提示
pathspec 'feature-x' did not match any file(s)—— 因为该分支还不存在 - -b 是必需参数,漏掉就只是尝试切换,不是创建
- 分支名中避免空格和特殊字符,推荐用小写字母、短横线(
-)和斜杠(/)分隔,比如feature/api-v2 - 创建后记得
git push --set-upstream origin feature/api-v2推送到远程,否则别人看不到这个分支











