如何在 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* 分支。這證明了這兩個分支彼此分叉。
廣告