Git 怎麼用 rebase 合併幾個 commit
世界只因有你
世界只因有你 2017-05-02 09:22:52
0
1
627

據說 Git 可以透過 rebase 合併幾次提交,最終在歷史記錄中只留下合併後的那一個。

因為我在改一個 bug 的時候中途提交了幾次,但最後需要把中間幾次提交都取消掉,直接合併最後一次提交上去,比如

aaaaaa 修改前小小的重构
bbbbbb 修改拼写错误
cccccc 重算 a 过程
dddddd 重算 b 过程
eeeeee fix #2382

我想最終在歷史記錄只有

abcdef fix #2382,重算了 a、b 过程

應該怎麼做?
我平常用 SmartGit,不過用命令列解決也行

世界只因有你
世界只因有你

全部回覆(1)
伊谢尔伦

git rebase -i <eeeee的前一次提交>
把不需要的 commit 前面設為 s 保存退出後編輯新的log,比較複雜

還有一種方法,但是要求 aaaaa 是當前最新的提交
git reset --soft <eeeee的前一次提交>然后重新 git commit

反正吧,這兩種方式都是比較危險的操作,建議新手先找個心臟項目試試

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板