Skip to content

Commit a125151

Browse files
committed
update cherry-pick
1 parent 72c3e70 commit a125151

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

README.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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
14091409
git-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
14451445
git 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

Comments
 (0)