iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0
Software Development

從零開始將作品整理成GitHub履歷系列 第 23 篇

Day 23|第一次建立 Branch

  • 分享至 

  • xImage
  •  

昨天我們認識了Branch是什麼,也找到一個「影分身術」的比喻來理解分支的概念。所以今天就直接來實際建立第一個 Branch了!


查看目前的 Branch

我們先看看我們是在哪一條分支上面:

git branch

https://ithelp.ithome.com.tw/upload/images/20261007/20178158SFTIu9K1Xh.png

這代表我目前這個 Repository只有一條本機Branch,那 * 就是我所在的Branch。

建立一個新的 Branch

我想要建立一條專門拿來做這次練習的 Branch,然後會在這條 Branch 上修改 README,所以這條Branch的名稱先叫做: readme-update。然後查看有沒有建立成功:
https://ithelp.ithome.com.tw/upload/images/20261007/201781587ss6xJ0sSS.png
可以看到他多了一個Branch,就是我剛創的:readme-update

A ─── B ─── C ─── D  ← master
                  \
                   E ───  ← readme-update

切換到新 Branch

那上面的圖片可以看到我雖然成功建立了新的Branch,但是她並不會自動把我切換過去,所以我們可以利用 git switch 來切換到我們要的那一個Branch上:
https://ithelp.ithome.com.tw/upload/images/20261007/20178158X1bKNpuyXe.png
那 * 成功出現在readme-update前面就是我們切換成功了!

在 Branch 修改 README

納因為今天是為了實際認識Branch,而且我也還沒想到專案可以修改甚麼地方,所以我在這會修改他的README來做為觀察。
那我剛剛已經開啟README修改了幾句話了,接這git status 查看他寫了什麼!
https://ithelp.ithome.com.tw/upload/images/20261007/20178158IHNSPJKrZe.png

這裡可以注意到我真的在 readme-update Branch,Git也發現我修改了 README.md

On branch readme-update

Changes not staged for commit:
    modified: README.md

接著Commit 這個版本:

git commit -m "Update README on branch"

就是上面分支 E 的地方
https://ithelp.ithome.com.tw/upload/images/20261007/20178158cdD25iwnDa.png

將readme-update Push 到GitHub

那我為了更明顯得看到他這兩個Branch的差別,所以我直接將他Push到GitHub
https://ithelp.ithome.com.tw/upload/images/20261007/201781583u5FaC0jBl.png
https://ithelp.ithome.com.tw/upload/images/20261007/20178158SgnD6bWGMp.png
然後回到GitHub的Branches頁面,可以看到出現有 master 和 readme-update 兩條 Branch。master 仍然是預設的主要分支,readme-update顯示的Ahead 1,並不是代表它只有一個 Commit,是代表它在原本 master 的版本紀錄之外,又多了 1 個新的 Commit,就是剛剛我們修改 README 所建立的 Commit。

那我直接切換到readme-update這條Branch看看他的README也看到他真的有我們Commit的"Update README on branch"這個版本,可以看到剛剛新增的「專案維護」內容已經成功出現在 README 中。切換回 master就不會看到這段內容。這也實際證明了兩條 Branch 可以保留不同的修改內容,而且不會直接影響原本的 master。
https://ithelp.ithome.com.tw/upload/images/20261007/20178158F02XZ0Nyaj.png


那麼今天我們實際實驗了在Branch上修改,而且看到了他的修改不會去影響任何一條Branch,那麼要怎麼把修改的內容合到master裡面呢?
明天我們就來認識Merge


上一篇
Day22| Git Branch 是什麼,直接改 master不行嗎?
下一篇
Day24|認識Git Merge:把 Branch 合併回 master
系列文
從零開始將作品整理成GitHub履歷 共 24 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言