iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
Security

從0基礎開始起飛,一起一步步踏入資安系列 第 17

[ Day 17 ] Git進階篇(1) ( Linux指令 - git )

  • 分享至 

  • xImage
  •  

Git 進階指令教學:branch、merge、checkout、stash

在學會 git initgit addgit commit 這些基本指令後,接下來最常遇到的情境就是:

  • 需要同時開發多個功能
  • 想嘗試修改但又不想弄亂 main 分支
  • 突然有 bug 要修,必須暫存當前進度

這時候就會用到 分支 (branch)合併 (merge)切換 (checkout)暫存 (stash)


1. branch:建立與管理分支

分支(branch)就像遊戲的「分支存檔」,你可以在不同分支上實驗,最後再合併到主要進度。

查看所有分支

git branch

範例輸出:

* main
  feature-login
  • * 代表目前所在的分支。

建立新分支

git branch feature-login
  • 建立一個叫 feature-login 的分支,但還沒切換過去。

建立並切換

git checkout -b feature-login

或是新寫法:

git switch -c feature-login
  • 直接建立並切換到新分支。

2. checkout:切換版本或分支

checkout 可以用來切換分支,也能回到某個舊版本。

切換分支

git checkout feature-login
  • 切換到 feature-login 分支。

3. merge:合併分支

當你在某個功能分支完成後,要把它合併回主要分支。

範例:把 feature-login 合併到 main

git checkout main
git merge feature-login
  1. 先切到 main
  2. mergefeature-login 的內容合併進來

4. stash:暫存修改

有時候你正在寫一半,突然需要切去別的分支修 bug,但又不想 commit 未完成的內容,這時可以用 stash

暫存當前修改

git stash
  • 會把修改存起來,工作區變乾淨。

查看 stash 列表

git stash list

範例輸出:

stash@{0}: WIP on feature-login: 1234abc 修正登入表單

套用暫存

git stash apply stash@{0}
  • 把 stash 裡的修改取回來,但不會刪除 stash。

套用並刪除

git stash pop
  • 取回修改後,刪除該 stash。

刪除 stash

git stash drop stash@{0}
  • 只刪除,不套用。

5. 綜合範例:開發新功能 + 修 bug

假設你正在開發 feature-login 分支,但突然有人回報 main 分支有 bug:

# 先暫存修改
git stash

# 切換到 main 分支
git checkout main

# 修 bug 並提交
git commit -am "修正 main bug"

# 切回 feature-login
git checkout feature-login

# 取回剛剛 stash 的修改
git stash pop
  • 在不 commit 半成品的情況下,快速切換分支修 bug。

上一篇
[ Day 16 ] 想學Git嗎? 來這教你 ( Linux指令 - git 基礎篇)
下一篇
[ Day 18 ] 更多的Git指令進階教學 ( Linux指令 - git )
系列文
從0基礎開始起飛,一起一步步踏入資安23
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言