Git介紹 — 分支(Branch)

Sharon Peng
5 min readFeb 15, 2022

--

昨天介紹完基本的介紹後,這篇要來為大家介紹分支(Branch)這項功能!!

Outline:

  • 為什麼要使用分支
  • 建立第一個分支
  • 合併(Merge)分支

為什麼要使用分支(Branch)

在上一篇有提到,當需要多人一同進行專案時,難免會發生,不知道誰做了什麼,誰又刪除了什麼的情況。而分支的出現是為了讓整個專案更有彈性,如果今天有什麼新的企劃、想法產生,我們可以直接利用分支(分身)去建立一個小實驗,如果實驗效果不錯,之後可以直接併入到原本的專案中,如果實驗很失敗的話,就直接刪掉,也不會影響原本的專案。是不是很方便呢

請參考一下分支的概念圖:

說明:一開始建立網頁為綠色的主線,但在中途我們想要為網頁添加其他東西,例如「圖片」與「功能列」,因此建立出「藍色(圖片)」與「紅色(功能列)」的分支,當其他人建立完也測試完成後,再和原本的主線進行合併,最後就可以得到,擁有「顯示圖片」與「功能列」的網頁!!

建立第一個分支

首先,知道自己目前是處於哪個分支,我們才可以去建立新的分支吧。

查看目前位在哪一個分支內

git branch

建立新的分支

git branch 新分支的名稱

另一種新建分支的方式是,當我們在切換分支時,如果沒有那個分支,我們就直接新建一個,使用方法是加入一個參數-b

git checkout -b brother

注意:如果分支不存在的話,是不能直接切換的,要不然會出現錯誤!!

更改分支的名稱(如果不小心手誤打錯名字)

阿!剛剛原本分支名稱應該是dog,不小心打成god

git branch -m god dog

刪除分支

加入參數-d ,進行刪除

git branch -d dog

強制刪除分支,加入-D 參數。

git branch -D dog

切換分支

git checkout cat

實際範例:

Step 1:建立其他兩個分支(cat, dog)

git branch cat
git branch dog

Step 2:切換到cat分支,並在此cat分支中建立兩個File(cat1, cat2)

# 切換分支
git checkout cat
# 建立第一個檔案
touch cat1.html
git add cat1.html
git commit -m "add cat 1"
# 建立第二個檔案
touch cat2.html
git add cat2.html
git commit -m "add cat 2"

重點來了!!

Step 3:先查看cat分支內的紀錄(log)

git log --oneline

這時,在和master內的紀錄(log)作比較,可以發現他多了兩行的commit。

Step 4:這時再來比較cat內的檔案和master內的檔案

# 先切換到分支cat內,並查看內部的檔案
git checkout cat
ls -al
# 切回到master內,並查看內部的檔案
git checkout master
ls -al

說明:這代表在分支內所做的事情,都不會影響到主要支線,也就是master的部分。

上述的範例只是想要展示,分支的概念是如何呈現。

第一次看到這個應該很難理解,沒關係多練習幾次,並參考下方的圖片,應該可以有更深刻的理解。

合併分支

新建立完分支後,決定要將它合併到主線(master)內。

流程:

branch checkout master   # 切換到master
git merge cat # 合併cat分支

確認已經合併的方法,使用ls -al ,查看原本在cat內的檔案,是否也出現在master中。

以下為簡單的圖示:

另一種狀況,兩個分支之間的合併,如dog和cat之間的合併。

注意:前面還沒有在 dog分支中建立新檔案,所以還請各位讀者先自行建立新檔案後,再進行合併。

流程:

branch checkout cat   # 切換到master
git merge dog # 合併cat分支

下圖為dog合併到cat後,ls -al 後的結果,可以看到dog1, dog2兩個檔案都出現在cat分支內了。

這篇簡單帶過分支的概念,如果需要想要學習更多有關git的技巧,還請各位上網找一些書籍來閱讀,相信對各位夥伴會有更多的幫助!!

如果內容有任何問題,還請各為夥伴不吝指教。

那我們就下此再見囉👋👋

--

--

Sharon Peng
Sharon Peng

No responses yet