cherry-pick
是 Git 的一個功能,允許你選擇某個 commit 并將其應用到當前分支,而無需合并整個分支。在 VS Code 中,你可以通過 內置的 Git 功能 或 終端 來完成 cherry-pick
。
方法 1:使用 VS Code 的 Git 圖形界面(GUI)
步驟
-
打開 VS Code 的 Git 面板
- 點擊左側活動欄的 源代碼管理(Source Control) 圖標(或按
Ctrl+Shift+G
)。
- 點擊左側活動欄的 源代碼管理(Source Control) 圖標(或按
-
查看提交歷史
- 在 源代碼管理 面板,點擊
...
(更多操作) →View
→Show Commit Log
(或Git: Show Git Log
)。
- 在 源代碼管理 面板,點擊
-
選擇要
cherry-pick
的 commit- 在 Git Log 面板,找到目標 commit,右鍵點擊它。
- 選擇
Cherry Pick Commit
。
-
解決沖突(如果有)
- 如果
cherry-pick
導致沖突,VS Code 會提示你解決沖突。 - 手動編輯文件后,暫存更改(Stage Changes),然后提交。
- 如果
-
完成
cherry-pick
- 如果沒有沖突,VS Code 會自動應用 commit 到當前分支。
方法 2:使用 VS Code 的終端(命令行)
如果你習慣使用命令行,可以直接在 VS Code 的終端執行 git cherry-pick
。
步驟
-
打開 VS Code 終端
Ctrl+``
(反引號)或Terminal
→New Terminal
。
-
找到目標 commit 的哈希值
- 運行:
git log --oneline
- 復制你要
cherry-pick
的 commit 的哈希值(如a1b2c3d
)。
- 運行:
-
執行
cherry-pick
- 運行:
git cherry-pick a1b2c3d
- 如果出現沖突,手動解決后運行:
git cherry-pick --continue
- 如果想取消
cherry-pick
:git cherry-pick --abort
- 運行:
常見問題
1. cherry-pick
出現沖突怎么辦?
- VS Code 會標記沖突文件,手動修改后:
- 暫存更改(
git add <file>
)。 - 繼續
cherry-pick
(git cherry-pick --continue
)。
- 暫存更改(
2. 如何 cherry-pick
多個 commit?
- 在終端運行:
git cherry-pick commit1 commit2 commit3
- 或使用范圍:
git cherry-pick start-commit^..end-commit
3. VS Code 沒有 Cherry Pick
選項?
- 確保安裝了 Git 擴展(默認自帶)。
- 如果仍然沒有,可以使用 命令行方式。
總結
方法 | 適用場景 | 優點 |
---|---|---|
VS Code GUI | 可視化操作,適合新手 | 無需記憶命令 |
終端命令 | 更靈活,適合高級用戶 | 支持批量 cherry-pick |
現在你可以輕松在 VS Code 里 cherry-pick
啦! 🚀