Git: 調整提交順序

2021-06-03

git cherry-pick

當你想要複製幾個 commit 並且接在你目前的位置(HEAD)下面的時候,這會是一個非常直接的方式

git cherry-pick <Commit1> <Commit2> <...>

例如下圖範例: 

在 side branch 中,我們有一些 commit 想要複製到 main branch 上,這可以透過一個 rebase 來完成,但是讓我們看看 git cherry-pick 怎麼做。

git cherry-pick c2 c4

git interactive rebase

當你知道你要複製哪些 commit(而且你也知道他們所對應的 hash 值),那麼 git cherry-pick 很適合。

但是如果你不知道你要的是哪些 commit 呢? 我們可以用互動式的 rebase 來做到,當你想要檢查你想要的 commit 的時候,這會是最好的方法。

互動式的 rebase 相當於使用 rebase 這個指令的時候,後面加上一個 -i 的選項。 如果你有包含了這個選項,git 就會打開一個 UI,讓你知道說有哪些 commit 會被複製下來,它也會告訴你它們的 hash 值以及可以讓你知道它們是什麼的訊息。

當互動式的 rebase 的對話視窗打開之後,就可以做到三件事情:

  • 你可以藉由改變這些 commit 在 UI 的位置,來重新排序它們的順序。
  • 你可以選擇完全忽略掉某些 commit。
  • 最後, 你可以把 commit 合併在一起。
Miller : hhjoy222@gmail.com
Webnode 提供技術支援
免費建立您的網站! 此網站是在 Webnode 上建立的。今天開始免費建立您的個人網站 立即開始