將提交從一個分支複製到另一個分支
git cherry-pick <commit-hash>
會將現有提交中所做的更改應用於另一個分支,同時記錄新提交。實質上,你可以將提交從分支複製到分支。
鑑於以下樹 (來源)
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 [master]
\
76cada - 62ecb3 - b886a0 [feature]
假設我們想將 b886a0
複製到 master(在 5a6057
之上)。
我們可以跑
git checkout master
git cherry-pick b886a0
現在我們的樹看起來像:
dd2e86 - 946992 - 9143a9 - a6fd86 - 5a6057 - a66b23 [master]
\
76cada - 62ecb3 - b886a0 [feature]
新提交 a66b23
具有與 b886a0
相同的內容(源差異,提交訊息)(但是不同的父級)。請注意,挑選只會獲取該提交的更改(在這種情況下為 b886a0
)而不是功能分支中的所有更改(為此你必須使用變基或合併)。