1. 程式人生 > >git rebase -i 匯合提交

git rebase -i 匯合提交

為了節省時間,這個教程使用現有的歷史記錄作為本地資料庫。

從這裡下載

我們進入stepup-tutorial/tutorial5目錄。本地端的歷史記錄的狀態如下圖顯示。在這裡匯合「新增commit的講解」和「新增pull的講解」的修改,然後合併到一個提交。

資料庫的歷史記錄

若要匯合過去的提交,請用rebase -i。

$ git rebase -i HEAD~~

開啟文字編輯器,將看到從HEAD到HEAD~~的提交如下圖顯示。

pick 9a54fd4 新增commit的說明
pick 0d4a808 新增pull的說明

# Rebase 326fc9f..0d4a808 onto d286baa
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#

將第二行的“pick”改成“squash”,然後儲存並退出。由於合併後要提交,所以接著會顯示提交資訊的編輯器,請編輯資訊後儲存並退出。

這樣,兩個提交就合併成一個提交了。請用log命令確認歷史記錄。

匯合提交

from: http://backlogtool.com/git-guide/cn/stepup/stepup7_5.html