@@ -1401,15 +1401,15 @@ git stash pop # 將之前的改動從 stash 中 pop 出來
14011401
14021402看影片會更清楚,手把手帶大家動手做 [ Youtube Tutorial - git-cherry-pick] ( https://youtu.be/x3UtKUvlDdI )
14031403
1404- git-cherry-pick 這個指令大家可能會比較陌生:confused :
1404+ git-cherry-pick 這個指令大家可能會比較陌生 :confused :
14051405
14061406沒關係,我們先來看 [ 官方] ( https://git-scm.com/docs/git-cherry-pick ) 的說明
14071407
14081408``` text
14091409git-cherry-pick - Apply the changes introduced by some existing commits
14101410```
14111411
1412- 看完官方說明還是:question ::question ::question :
1412+ 看完官方說明還是 :question : :question : :question :
14131413
14141414沒關係,我來假設一個情境 ( 理解完它你就了解了 git-cherry-pick 的用途了 ),
14151415
@@ -1429,7 +1429,7 @@ git-cherry-pick - Apply the changes introduced by some existing commits
14291429
14301430不需要全部,換句話說,就是撿其他分支中的 commit 過來使用。
14311431
1432- 了解了適合的使用情境,接下來我們就來實戰:smirk :
1432+ 了解了適合的使用情境,接下來我們就來實戰 :smirk :
14331433
14341434首先,我想要 v1 分支中的 14dee93 - add d.py 這個 commit,
14351435
@@ -1445,6 +1445,14 @@ git cherry-pick 14dee93
14451445git cherry-pick 14dee93 xxxxxx xxxxxx xxxxxx xxxxx
14461446```
14471447
1448+ 如果你想一次撿一個區間的 commits, 可以使用以下的指令
1449+
1450+ ``` cmd
1451+ git cherry-pick A^..B
1452+ ```
1453+
1454+ (A 和 B 代表你的 commits id)
1455+
14481456如果沒有衝突,就會看到如下圖
14491457
14501458![ alt tag] ( https://i.imgur.com/YITXxMk.png )
@@ -1457,9 +1465,9 @@ git cherry-pick 14dee93 xxxxxx xxxxxx xxxxxx xxxxx
14571465
14581466使用了,但現在它的 commit id 卻是 ab70429,這個是正常的,因為它需要
14591467
1460- 重新新計算:smile :
1468+ 重新新計算 :smile :
14611469
1462- 其實,你會發現 git-cherry-pick 沒有想像中的困難:satisfied :
1470+ 其實,你會發現 git-cherry-pick 沒有想像中的困難 :satisfied :
14631471
14641472在 cherry-pick 時,難免會遇到衝突,這邊我就再多做一個衝突的範例,
14651473
@@ -1471,13 +1479,13 @@ v1 分支中的 log 如下,我想要它的 3a2f29a - add c.py and print world
14711479
14721480![ alt tag] ( https://i.imgur.com/RFibHS6.png )
14731481
1474- v2 分支中的 log 如下,我想要它的 553587b - add f.py這個 commit
1482+ v2 分支中的 log 如下,我想要它的 553587b - add f.py 這個 commit
14751483
14761484![ alt tag] ( https://i.imgur.com/I6L2Fwq.png )
14771485
14781486接下來我們就切回 master,然後 cherry-pick 這兩個 commit,
14791487
1480- 這時候你會發現,它衝突了:fearful :
1488+ 這時候你會發現,它衝突了 :fearful :
14811489
14821490![ alt tag] ( https://i.imgur.com/fAtQET0.png )
14831491
@@ -1499,7 +1507,7 @@ v2 分支中的 log 如下,我想要它的 553587b - add f.py這個 commit
14991507
15001508![ alt tag] ( https://i.imgur.com/lEP648c.png )
15011509
1502- 我們成功將我們要的 commit merge 到我們的 master 分支上了:kissing_smiling_eyes :
1510+ 我們成功將我們要的 commit merge 到我們的 master 分支上了 :kissing_smiling_eyes :
15031511
15041512想了解更多的使用方法,可參考官方文件
15051513[ https://git-scm.com/docs/git-cherry-pick ] ( https://git-scm.com/docs/git-cherry-pick ) 。
0 commit comments