Menu
CoddyTech

Git:创建分支

最后更新

一步创建分支并切换过去,新写法是 git switch -c <name>。旧写法 git checkout -b <name> 效果相同,在哪里都还能用。git branch <name> 只创建分支,不会切换过去。除非你指定了别的起点,新分支都从你当前所在的位置开始。

在终端在线编辑器中试试这些命令:浏览器里就有一个真正的 shell,无需安装任何东西。

创建分支会从当前位置开始一条新的提交线,新指针瞬间建好,没有任何成本。

语法

命令作用
git switch -c feature创建 feature 并切换过去(新写法)
git checkout -b feature创建并切换(旧写法,效果相同)
git branch feature创建分支但不切换
git switch -c feature main从 main 创建 feature
git switch -c feature <hash>从某个提交创建分支

常见用法

目标命令
基于远程分支创建分支git switch -c feature origin/feature
推送新分支并设置上游git push -u origin feature
创建一个之后再切换的分支git branch feature

Git 创建分支常见问题

如何用一条命令创建分支并切换过去?
运行 git switch -c <name>(新版 Git)或等效的 git checkout -b <name>。两者都会从你当前的提交创建新分支并立即检出,让你马上就能在上面工作。
git switch -c 和 git checkout -b 有什么区别?
它们做的事情一样:创建分支并切换过去。git switch 是较新、更专一的命令,用来把切换分支从 git checkout 的众多用途中分离出来。git checkout -b 虽然较旧,但仍然完全支持;用你团队习惯的那个就行。
如何基于另一个分支或某个提交创建分支?
把起点作为最后一个参数:git switch -c feature main 从 main 创建分支,git switch -c feature <hash> 从某个特定提交创建分支。如果不指定起点,分支会从你当前的 HEAD 创建。
如何把新分支推送到远程仓库?
在本地创建之后,运行 git push -u origin <name>。-u 会设置上游分支,这样以后在这个分支上运行 git push 和 git pull 都不需要参数。在你推送之前,远程仓库上并不存在这个分支。
可以在线练习吗?

可以。打开终端在线编辑器,就能在浏览器里真正的 shell 中运行这些命令,无需安装任何东西。Coddy 免费的互动式 Git 课程也会完整讲解分支操作。

Coddy 编程语言插图

在 Coddy 学习 Git

开始