如何在 Git 中创建分支?


Git 中的分支是一系列相互关联的提交。如果两个分支遵循非线性路径,则它们会彼此分叉。该图显示了两个分叉的分支 *master* 和 *feature*。

考虑上图。假设这两个分支在初始提交之前都遵循线性路径。初始提交之后,master 分支有一个独立的提交 **c1**,而 feature 分支有其自己的提交 **c2**。由于分支现在遵循非线性路径,我们可以说这两个分支已分叉。让我们通过一个例子来看一下。

**步骤 1** - 创建一个带有初始提交的空仓库。

$git init
$echo hello>hello.txt
$git add .
$git commit -m 'Initial commit'

输出

[master (root-commit) dC3b134] Initial commit
1 file changed, 1 insertion(+)
create mode 100644 hello.txt

**步骤 2** - 创建一个名为 *feature* 的新分支

$git branch feature
$git branch

输出

以下输出显示仓库有两个可用的分支,其中 *master* 是当前分支 (*)

Feature
* master

**步骤 3** - 在 master 分支中创建一个新的提交并检查历史记录

$echo world>world.txt
$git add .
$git commit -m ‘world.txt’
$git log --oneline --all --graph

输出

以下输出显示 feature 分支指向初始提交,而 master 分支有独立的提交。

* d6e2f5b (HEAD -> master) world.txt
* dC3b134 (feature) Initial commit

**步骤 4** - 切换到 feature 分支并创建一个新的提交

$git switch feature
$echo file1>file1.txt
$git add .
$git commit -m ‘file1.txt’
$ git log --oneline --all --graph

输出

输出显示提交的历史记录图。

* e340791 (HEAD -> feature) file1.txt
| * d6e2f5b (master) world.txt
|/
* dC3b134 Initial commit

初始提交哈希 *dC3*b134 对两个分支都是通用的,而提交 *e340791* 和 d6e2f5b 分别特定于 *feature* 和 *master* 分支。这证明了这两个分支彼此分叉。

更新于:2021年4月30日

2K+ 浏览量

启动你的 职业生涯

完成课程获得认证

开始学习
广告