Git介紹 — 分支(Branch)
昨天介紹完基本的介紹後,這篇要來為大家介紹分支(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的技巧,還請各位上網找一些書籍來閱讀,相信對各位夥伴會有更多的幫助!!
如果內容有任何問題,還請各為夥伴不吝指教。
那我們就下此再見囉👋👋