💡 前言
在團隊協同開發或進行大型功能重構時,如果所有人都在同一個主幹(main 或 master)上直接修改程式碼,一旦程式寫到一半崩潰或還沒完成,就會導致整個專案無法運作。
為了確保開發過程安全、互不干擾,我們需要使用 Git Branch(分支)。而當多人同時修改了同一行程式碼時,就會迎來每個工程師都曾頭痛過的魔王關卡——Merge Conflict(合併衝突)。今天 Day 15 我們就來看看如何在 VS Code 中輕鬆駕馭分支管理,並直覺化解開合併衝突!
🎯 本篇重點
🌳 1. 什麼是 Git Branch(分支)?
你可以把 Git 分支想像成平行宇宙:
• main 主分支:代表目前線上穩定、可運作的正式版本。
• 功能分支 (feature/...):當你要開發新功能(例如購物車、登入頁面)或修復 Bug 時,從主分支分支出一個獨立的沙盒環境。你在這裡怎麼改、怎麼玩都不會影響到主分支,直到功能開發完畢且測試無誤後,再安全地「合併(Merge)」回主分支。
🛠️ 2. 在 VS Code 中輕鬆操作分支
不需要背 git checkout -b 指令,VS Code 的底部狀態列幫你搞定一切:
main)。feature/login-page)。⚔️ 3. 什麼是 Merge Conflict(合併衝突)?
當你把分支合併回主分支時,如果:
• 情況 A:你改了檔案 A 的第 10 行,同事改了檔案 A 的第 50 行 ➔ Git 很聰明,會自動幫你合併。
• 情況 B:你和同事同時修改了同一個檔案的「同一行」程式碼,但內容寫得不一樣 ➔ Git 慌了,不知道該聽誰的,這時就會觸發 Merge Conflict(合併衝突),並暫停合併流程。
🛠️ 4. 用 VS Code 視覺化解決衝突
當發生衝突時,VS Code 會在原始碼控制面板標示出衝突檔案,點開後,程式碼中會出現像這樣的特殊標記:
<<<<<<< HEAD
console.log("這是目前主分支寫的程式碼");
=======
console.log("這是從其他分支合併進來的程式碼");
>>>>>>> feature/login-page
別慌!VS Code 內建了極為直覺的衝突解決介面,在衝突的程式碼上方會出現四個藍色小按鈕:
解決步驟:
Accept Current Change)。<<<<<<<、======= 標記。