git 壓縮commit

步驟 1: 選擇你的起始提交

git rebase --interactive HEAD~[N]?命令的缺點就是你必須一個一個的數(shù)出準確的提交次數(shù)灸叼。幸運的是這里還有另一種方式:

git rebase --interactive [commit-hash]

[commit-hash]?就是你要壓縮的提交范圍的起始提交之前的一次提交的 hash神汹。所以在我的示例中的命令就是:


git rebase --interactive 6394dc

6394dc?是?Feature Y庆捺。你可以將這個命令理解為:

對?[commit-hash]?之上的所有提交進行合并。


步驟 2: 選擇與壓縮

這時你的編輯器會有彈窗屁魏,顯示出你想要合并的提交列表滔以。注意,一開始可能會感覺有點看不明白氓拼,因為是按反序排列的你画,舊的提交顯示在頂部。我通過?--- older commit?和?--- newer commit?進行了說明桃漾,在編輯器的窗口中不會顯示說明坏匪。

pick d94e78 Prepare the workbench for feature Z? ? --- older commit

pick 4e9baa Cool implementation

pick afb581 Fix this and that?

pick 643d0e Code cleanup

pick 87871a I'm ready!

pick 0c3317 Whoops, not yet...

pick 871adf OK, feature Z is fully implemented? ? ? --- newer commit

[...]

在提交列表的底部有一個簡短的注釋(示例中忽略了),提示了所有的操作選項撬统。你可以在交互式 rebase 中進行各種操作适滓,我們現(xiàn)在只進行一些基本的操作。我們的任務(wù)是將所有的提交注釋為?squashable恋追,除了第一個(最早的)提交:它將被用作起始點凭迹。

你可以通過將任務(wù)?pick?修改為?squash?(或者簡寫為?s?,評論中有提示)來將提交標記為 squashable 苦囱。最后的結(jié)果就是:

pick d94e78 Prepare the workbench for feature Z? ? --- older commit

s 4e9baa Cool implementation

s afb581 Fix this and that?

s 643d0e Code cleanup

s 87871a I'm ready!

s 0c3317 Whoops, not yet...

s 871adf OK, feature Z is fully implemented? ? ? --- newer commit

[...]

保存文件嗅绸,關(guān)閉編輯器。


步驟 3: 創(chuàng)建新的提交

你剛剛告訴了 Git 將全部的 7 次提交合并到列表的第一個提交中∷和現(xiàn)在要給它添加注釋:你的編輯器會再次彈出一個帶有默認消息的窗口鱼鸠,內(nèi)容是壓縮的所有提交的注釋。

你可以保留默認的提交注釋喉刘,這樣最終的提交信息將會是這些臨時提交的注釋列表瞧柔,如下所示:

Prepare the workbench for feature Z

Cool implementation

Fix this and that?

Code cleanup

I'm ready!

Whoops, not yet...

OK, feature Z is fully implemented

通常我不喜歡保留這些信息,所以我會清楚默認消息睦裳,使用一些自定義注釋造锅,例如?Implemented feature Z。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末廉邑,一起剝皮案震驚了整個濱河市哥蔚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蛛蒙,老刑警劉巖糙箍,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異牵祟,居然都是意外死亡深夯,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來咕晋,“玉大人雹拄,你說我怎么就攤上這事≌莆兀” “怎么了滓玖?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長质蕉。 經(jīng)常有香客問我势篡,道長,這世上最難降的妖魔是什么模暗? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任禁悠,我火速辦了婚禮,結(jié)果婚禮上汰蓉,老公的妹妹穿的比我還像新娘绷蹲。我一直安慰自己,他們只是感情好顾孽,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著比规,像睡著了一般若厚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜒什,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天测秸,我揣著相機與錄音,去河邊找鬼灾常。 笑死霎冯,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的钞瀑。 我是一名探鬼主播沈撞,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼雕什!你這毒婦竟也來了缠俺?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤贷岸,失蹤者是張志新(化名)和其女友劉穎壹士,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體偿警,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡躏救,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了螟蒸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盒使。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡崩掘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出忠怖,到底是詐尸還是另有隱情呢堰,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布凡泣,位于F島的核電站枉疼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鞋拟。R本人自食惡果不足惜骂维,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贺纲。 院中可真熱鬧航闺,春花似錦、人聲如沸猴誊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽懈叹。三九已至乖杠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澄成,已是汗流浹背胧洒。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留墨状,地道東北人卫漫。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像肾砂,于是被迫代替她去往敵國和親列赎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容