如何在 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+ 瀏覽量

啟動你的 職業生涯

完成課程獲得認證

開始學習
廣告