好的!以下是使用 Visual Studio Code (VS Code) 完成與 TortoiseGit 相同情境(開新分支、修改程式、合併回原分支)的詳細步驟。假設你已經在 VS Code 中設置好 Git 環境(安裝了 Git for Windows,並配置了 Git 路徑),並且你的倉庫已經克隆到本地。VS Code 內建了強大的 Git 整合功能,通過其 Source Control 面板或終端機(Terminal)可以輕鬆完成 Git 操作。
情境:開新分支、修改程式、合併回原分支
假設你當前在 main 分支(或 master,視倉庫命名),需要創建一個新分支 feature-branch,修改程式碼,然後將修改合併回 main 分支。以下是使用 VS Code 的具體步驟:
步驟 1:創建並切換到新分支
- 打開 VS Code 並載入倉庫:
- 打開 VS Code,選擇 File -> Open Folder,選取你的 Git 倉庫文件夾(包含
.git文件夾的目錄)。 - 確認左側活動欄的 Source Control 圖標(分支圖標,通常是第三個)顯示正常,表明 Git 已正確初始化。
- 創建新分支:
- 點擊左側活動欄的 Source Control 面板(快捷鍵
Ctrl+Shift+G)。 - 在面板頂部,點擊分支名稱旁邊的 …(更多操作)按鈕,選擇 Branch -> Create Branch。
- 在彈出的輸入框中,輸入新分支名稱,例如
feature-branch,按 Enter。 - VS Code 會自動創建並切換到
feature-branch。
- 確認分支切換:
- 查看 VS Code 底部狀態欄(左下角),應顯示當前分支為
feature-branch。 - 或者,在 Source Control 面板中,點擊分支名稱確認當前分支。
步驟 2:修改程式碼並提交
- 修改程式碼:
- 在 VS Code 中打開需要修改的文件(例如
main.py或index.html),進行程式碼編輯並保存(Ctrl+S)。
- 檢查修改狀態:
- 切換到 Source Control 面板(
Ctrl+Shift+G)。 - 面板會列出所有修改的文件,標記為:
- M(Modified,已修改)
- U(Untracked,未跟踪)
- A(Added,已添加)
- 添加修改到暫存區:
- 在 Source Control 面板中,點擊修改文件旁邊的 + 按鈕,將文件添加到暫存區(Staged Changes)。
- 或者,點擊面板頂部的 …,選擇 Stage All Changes,將所有修改一次性添加到暫存區。
- 提交修改:
- 在 Source Control 面板頂部的輸入框中,輸入提交訊息(例如「Add new feature to project」)。
- 點擊面板頂部的 ✔️ Commit 按鈕(或按
Ctrl+Enter)提交更改。 - 如果提示選擇提交類型,選擇 Commit Staged(提交已暫存的更改)。
- (可選)推送到遠端:
- 如果需要將
feature-branch推送到遠端倉庫(如 GitHub),點擊 Source Control 面板頂部的 …,選擇 Push。 - 如果這是第一次推送新分支,VS Code 會提示設置遠端分支,確認後按 OK(通常是
origin/feature-branch)。
步驟 3:合併回原分支(main)
- 切換回主分支:
- 點擊 Source Control 面板頂部的分支名稱(
feature-branch)或底部狀態欄的分支名稱。 - 選擇 **main
(或master),VS Code 會切換到main` 分支。 - 確認狀態欄顯示當前分支為
main。
- 合併分支:
- 在 Source Control 面板,點擊 …,選擇 Branch -> Merge Branch。
- 在彈出的分支列表中,選擇
feature-branch,按 Enter。 - VS Code 會執行合併操作,將
feature-branch的更改合併到main。
- 解決衝突(如果有):
- 如果合併時出現衝突,VS Code 會在編輯器中高亮顯示衝突文件。
- 打開衝突文件,會看到類似以下的標記:
<<<<<<< HEAD (main 分支的內容) ======= (feature-branch 的內容) >>>>>>> feature-branch - 手動編輯衝突部分,保留需要的內容,刪除衝突標記(
<<<<<<<,=======,>>>>>>>)。 - 保存文件後,在 Source Control 面板中,點擊 + 將解決後的文件添加到暫存區。
- 點擊 ✔️ Commit 提交合併結果,輸入提交訊息(例如「Merge feature-branch into main」)。
- 推送到遠端(可選):
- 在 Source Control 面板,點擊 …,選擇 Push,將
main分支的更改推送到遠端倉庫。
步驟 4:(可選)刪除分支
- 刪除本地分支:
- 在 Source Control 面板,點擊 …,選擇 Branch -> Delete Branch。
- 選擇
feature-branch,確認刪除。
- 刪除遠端分支(如果已推送):
- 打開 VS Code 的終端機(Terminal -> New Terminal,快捷鍵 `Ctrl+“)。
- 輸入以下命令並執行:
bash git push origin --delete feature-branch - 或者,在 Source Control 面板點擊 …,選擇 Push,然後手動指定刪除遠端分支(需要終端機輔助)。
使用終端機作為替代(可選)
如果你更喜歡命令行,VS Code 的內建終端機也可以完成所有操作:
- 創建並切換分支:
git checkout -b feature-branch
- 添加並提交修改:
git add .
git commit -m "Add new feature to project"
- 推送新分支(可選):
git push origin feature-branch
- 切換回 main 並合併:
git checkout main
git merge feature-branch
- 解決衝突(若有):
- 編輯衝突文件,保存後執行:
bash git add . git commit
- 推送 main(可選):
git push origin main
- 刪除分支:
git branch -d feature-branch
git push origin --delete feature-branch
注意事項
- Git 配置:確保 VS Code 已正確配置 Git(在 File -> Preferences -> Settings 中搜索
git.path並確認指向git.exe)。 - 擴展推薦:安裝 GitLens 或 Git Graph 擴展,增強 Git 可視化功能(如查看提交歷史、分支圖)。
- 衝突處理:VS Code 的衝突解決工具非常直觀,建議熟悉其三路合併(Three-Way Merge)界面。
- 遠端倉庫:如果需要與遠端協作,確保在推送前配置好遠端倉庫地址(可在
.git/config中查看)。 - 備份:修改前建議備份重要文件,以防衝突或誤操作。
簡單總結
- 創建分支:Source Control -> … -> Create Branch -> 輸入
feature-branch。 - 修改並提交:編輯程式碼 -> 保存 -> Source Control -> Stage Changes -> Commit(輸入訊息)。
- 合併回 main:切換到
main(Source Control -> … -> Checkout to) -> Merge Branch -> 選feature-branch-> 解決衝突(若有) -> Commit。 - (可選)推送與刪除:Push
main-> Delete Branch(feature-branch)。
如果在操作過程中遇到問題(例如推送失敗、衝突無法解決),請提供具體錯誤或情境,我會幫你進一步分析和解決!