如何在 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* 分支。这证明了这两个分支彼此分叉。
广告