@@ -1201,6 +1201,33 @@ git pull --rebase = git fetch + git rebase
1201
1201
1202
1202
直接執行 ` git rebase --abort ` 即可回到之前的狀態。
1203
1203
1204
+ 額外補充小技巧,
1205
+
1206
+ * [ Youtube Tutorial - git autostash 參數說明] ( https://youtu.be/kg2PyZr7l5k )
1207
+
1208
+ 說明 ` --autostash ` ,
1209
+
1210
+ 一般來說, 如果我們工作到一半, 突然想要直接 ` git pull --rebase ` , 又不想 commit,
1211
+
1212
+ 流程大約會像下面這樣
1213
+
1214
+ ``` cmd
1215
+ git stash # 將目前的改動存進去 stash 中
1216
+ git pull --rebase
1217
+ git stash pop # 將之前的改動從 stash 中 pop 出來
1218
+ # 如果有衝突再去解決衝突
1219
+ ```
1220
+
1221
+ 但如果每次都要執行這麼多指令其實會有點煩:sweat :
1222
+
1223
+ 但可以透過一個參數來解決, 也就是
1224
+
1225
+ ` git pull --rebase --autostash `
1226
+
1227
+ 以上這段指令基本上就是幫你執行了剛剛上面那一串的東西,
1228
+
1229
+ 如果有衝突, 就再修正衝突即可:smile :
1230
+
1204
1231
## git-cherry-pick
1205
1232
1206
1233
看影片會更清楚,手把手帶大家動手做 [ Youtube Tutorial - git-cherry-pick] ( https://youtu.be/x3UtKUvlDdI )
@@ -1381,6 +1408,8 @@ git reset --hard HEAD
1381
1408
1382
1409
## git stash 指令
1383
1410
1411
+ * [ Youtube Tutorial - git stash 指令] ( https://youtu.be/CN065MNHtMY )
1412
+
1384
1413
很多時候,我們正在開發一個新功能又或是 debug,然後突然有一個功能需要緊急修正,
1385
1414
1386
1415
但你又不想 commit 現在的狀況,因為根本沒意義,事情只做了一半,這時候 ** stash**
@@ -1391,7 +1420,10 @@ git reset --hard HEAD
1391
1420
1392
1421
![ alt tag] ( https://i.imgur.com/7xX0T1T.jpg )
1393
1422
1394
- 然後,現在突然有一個bug必須馬上 ( 立刻 ) 處理,但是,啊我手上的事情還沒做完阿~~~~
1423
+ 然後,現在突然有一個 bug 必須馬上(立刻)處理,
1424
+
1425
+ 但是,啊我手上的事情還沒做完阿~~~~
1426
+
1395
1427
這時候,可以利用以下指令
1396
1428
1397
1429
``` cmd
@@ -1403,14 +1435,22 @@ git stash
1403
1435
假如你想要更清楚自己這次的 stash 原因是什麼,或是這是正在開發什麼功能
1404
1436
可以使用以下指令
1405
1437
1438
+ 範例
1439
+
1406
1440
``` cmd
1407
- git stash save -u "我是註解"
1441
+ git stash save "我是註解"
1408
1442
```
1409
1443
1410
1444
``` cmd
1411
1445
git stash save -u "feature"
1412
1446
```
1413
1447
1448
+ 參數說明
1449
+
1450
+ ` -u ` | ` --include-untracked `
1451
+
1452
+ ` -a ` | ` --all `
1453
+
1414
1454
![ alt tag] ( https://i.imgur.com/nGS11Px.jpg )
1415
1455
1416
1456
接下來你可以使用 status 指令,你會發現變乾淨了
@@ -1432,9 +1472,10 @@ git stash list
1432
1472
git stash pop
1433
1473
```
1434
1474
1435
- 假設今天你有很多的 stash,你可以指定,如下
1475
+ 假設今天你有很多的 stash,你可以指定,如下 (選自己喜歡的用法)
1436
1476
1437
1477
``` cmd
1478
+ git stash pop 0
1438
1479
git stash pop stash@{0}
1439
1480
```
1440
1481
@@ -1462,9 +1503,10 @@ git stash clear
1462
1503
1463
1504
![ alt tag] ( https://i.imgur.com/PvzufbQ.jpg )
1464
1505
1465
- 如果你想丟棄指定的 stash,可以使用
1506
+ 如果你想丟棄指定的 stash,可以使用 (選自己喜歡的用法)
1466
1507
1467
1508
``` cmd
1509
+ git stash drop 0
1468
1510
git stash drop stash@{0}
1469
1511
```
1470
1512
0 commit comments