[人生如果有 git 3] git rebase -i (reword)

Jc
9 min readOct 31, 2019

--

上一集的 [人生如果有 git 2]中,小美終於用自己的方法搞清楚前面 pick 字樣原來就是代表『要使用這一段的回憶』的意思,但是她依然還沒找到修改掉 35歲 的『空虛寂寞覺得冷』的回憶印象的方法,所以在好好休息一晚之後,她決定繼續尋找問題的解答,小美將注意力拉回螢幕前如跳舞般閃爍的遊標。

  1 pick e441280 17歲 剛上大學
2 pick 06d690a 18歲 認識初戀男友熱戀期
3 pick 076bfa2 22歲 出社會工作
4 pick 4d74605 30歲 再信義區豪宅買了豪宅
5 pick c801282 35歲 空虛寂寞覺得冷
6
7 # Rebase 63389d1..c801282 onto 63389d1 (5 command(s))
8 #
9 # Commands:
10 # p, pick = use commit
11 # r, reword = use commit, but edit the commit message
12 # e, edit = use commit, but stop for amending
13 # s, squash = use commit, but meld into previous commit
14 # f, fixup = like "squash", but discard this commit's log message
15 # x, exec = run command (the rest of the line) using shell
16 # d, drop = remove commit
17 #
18 # These lines can be re-ordered; they are executed from top to bottom.
19 #
20 # If you remove a line here THAT COMMIT WILL BE LOST.
21 #
22 # However, if you remove everything, the rebase will be aborted.
23 #
24 # Note that empty commits are commented out

所以如果這幾段回憶前面都是 pick,那就代表都是我想要的回憶,即使 35歲 的『空虛寂寞覺得冷』也是我想要的,我只是想要改變『空虛寂寞覺得冷』的記憶印象(commit message)而已,小美心裡盤算著,於是她繼續把目光往下尋找。

修改記憶印象 reword (edit the commit message)

 9 # Commands:
10 # p, pick = use commit
11 # r, reword = use commit, but edit the commit message

小美看到第 11 行的:

11 # r, reword = use commit, but edit the commit message

「使用記憶點,但更改記憶的訊息…」小美試著翻譯這段英文,「修改記憶的訊息…」小美習慣邊複述邊進行思考。

「不會就是這個吧…?」小美睜大眼睛說。「好吧,先試試看囉,大不了不行在找老師求救吧。」

所以小美想起她刪除回憶的時候使用的方法。腦海中出現了下面她那時候刪除時候的畫面 (請參考 [人生如果有 git 1 ]):

5 d 3e700fc 25歲 對於分手感到後悔

那時候刪除的時候所做的事情就是把前面的 pick 改成 d 或者 drop,所以她判斷使用的其他功能的方式應該不會差太遠,所以應該是『把前面的 pick 改成 r 或者是 reword 就應該可以了』吧?

所以小美這時候把目光移到 vim 編輯畫面上方的記憶列表:

  1 pick e441280 17歲 剛上大學
2 pick 06d690a 18歲 認識初戀男友熱戀期
3 pick 076bfa2 22歲 出社會工作
4 pick 4d74605 30歲 再信義區豪宅買了豪宅
5 pick c801282 35歲 空虛寂寞覺得冷
6
7 # Rebase 63389d1..c801282 onto 63389d1 (5 command(s))

...
... 以下省略

接著他把第 5 行的內容:

從原本的 pick

5 pick c801282 35歲 空虛寂寞覺得冷

改成 reword

5 reword c801282 35歲 空虛寂寞覺得冷

所以現在修改過後的編輯畫面變成這個樣子:

  1 pick e441280 17歲 剛上大學
2 pick 06d690a 18歲 認識初戀男友熱戀期
3 pick 076bfa2 22歲 出社會工作
4 pick 4d74605 30歲 再信義區豪宅買了豪宅
5 reword c801282 35歲 空虛寂寞覺得冷
6
7 # Rebase 63389d1..c801282 onto 63389d1 (5 command(s))

...
... 以下省略

接著她就按着 :x! 存檔準備離開這個畫面,但是對於未來會發生什麼事情她依然是一片未知而感到不安。

「第一次操作 rebase 的人應該都會有這種感覺吧?」她在心裡安慰自己說。

於是在她忐忑不安地按下 Enter 鍵之後出現在眼前的是這個畫面:

  1 35歲 空虛寂寞覺得冷
2
3 # Please enter the commit message for your changes. Lines starting
4 # with '#' will be ignored, and an empty message aborts the commit.
5 #
6 # Date: Mon Oct 28 21:54:50 2019 +0800
7 #
8 # interactive rebase in progress; onto 63389d1
9 # Last commands done (5 commands done):
10 # pick 4d74605 30歲 再信義區豪宅買了豪宅
11 # reword c801282 35歲 空虛寂寞覺得冷
12 # No commands remaining.
13 # You are currently editing a commit while rebasing branch 'master' on '63389d1'.
14 #
15 # Changes to be committed:
16 # new file: age_35.js
17 #

她一開始被眼前的畫面那麼多奇怪的文字嚇傻了,直到她發現這也是一個 vim 的編輯畫面,又看到第三行的那段文字:

3 # Please enter the commit message for your changes (請輸入你想要更改的記憶印象)

「所以現在是我這邊就可以更改了嗎?」小美好奇地問。看上述的提示訊息應該是如此,所以她把第一行的:

原本是:

1 35歲 空虛寂寞覺得冷

改成她想要的內容:

1 35歲 從此跟小明北鼻過著幸福快樂的日子!

所以修改過後的 vim 編輯畫面變成了:

  1 35歲 從此跟小明北鼻過著幸福快樂的日子!
2
3 # Please enter the commit message for your changes. Lines starting
4 # with '#' will be ignored, and an empty message aborts the commit.
5 #
...
... 以下省略

於是她就按著 :x! 存檔離開這個畫面,但是雖然她依然對於會發生什麼事情一無所知,但這次她是真心地期待 35 歲從此跟小明北鼻過著幸福快樂的日子,所以這次她就沒有那麼猶豫了。

在按下了 Enter 之後,馬上出現了這個畫面:

[detached HEAD bfe6575] 35歲 從此跟小明北鼻過著幸福快樂的日子!
Date: Mon Oct 28 21:54:50 2019 +0800
1 file changed, 1 insertion(+)
create mode 100644 age_35.js
Successfully rebased and updated refs/heads/master.

就像變魔術般的那個一直讓自己覺得不對勁的陰霾就這樣子突然間一掃而空了。

「呼!怎麼突然感覺到一股無法形容的開心?」小美眼眸裡的亮光被點燃了起來,一股新的希望從她內心的深處如同噴泉般地湧了出來。

這時她趕緊用 git log --oneline 檢視她是否真的成功修改了她的記憶印象:

小美成功地修改了她的記憶印象的畫面
bfe6575 35歲 從此跟小明北鼻過著幸福快樂的日子!
4d74605 30歲 再信義區豪宅買了豪宅
076bfa2 22歲 出社會工作
06d690a 18歲 認識初戀男友熱戀期
e441280 17歲 剛上大學
63389d1 16歲 高中畢業

「哇嗚!真的成功地更改了!」小美雀躍地從椅子上跳起來。

「我要趕快跟小明北鼻說這件事情!」小美立刻拿起手機打給小明。

「喂…」電話那頭小明的口吻似乎還在睡夢中。

小美迫不急待地把她成功更改記憶印象中過程告訴了小明。

「噢…這樣子呀,很不錯呀」小明聽完後微笑回應著。

就在一瞬間小美講完了這件事情突然不知道該繼續跟小明北鼻聊些什麼,就這樣掉進了兩人尷尬地冰冷氣氛中。

「嗯…那我先去公司忙囉。」小美突然想要趕快結束這種尷尬的氣氛。

「好喔,辛苦了,不要太累」小明貼心地囑咐著。

在掛掉電話後的小美陷入了很深的思考,她試著在 git log --oneline 看一下她的回憶:

bfe6575 35歲 從此跟小明北鼻過著幸福快樂的日子!
4d74605 30歲 再信義區豪宅買了豪宅
076bfa2 22歲 出社會工作
06d690a 18歲 認識初戀男友熱戀期
e441280 17歲 剛上大學
63389d1 16歲 高中畢業

看著眼前的回憶,她突然發現一件一直被忽略的事情:在那之前她只有想到她是怎麼愛著小明北鼻,但是她對於小明的回憶只有在:

06d690a 18歲 認識初戀男友熱戀期

就這樣子,沒有更多了。小美突然發現她雖然深愛著小明,但是她卻對於小明的回憶少之又少!難怪把重要的事情講完了就會陷入了沒有話題的尷尬狀態。

所以才經歷了短暫的開心之後,要怎麼樣子在她 18 歲到 35 歲中間的過程中增加有關小明北鼻的回憶馬上又變成小美頭痛的難題了…

「holy…shit」小美整個人往後倒在沙發上,一股無助就這樣席捲而來。

未完待續 …感謝收看 XD

--

--