cari

Rumah  >  Soal Jawab  >  teks badan

Git 怎么用 rebase 合并几个 commit

据说 Git 可以通过 rebase 合并几次提交,最终在历史记录中只留下合并后的那一个。

因为我在改一个 bug 的时候中途提交了几次,但最后需要把中间几次提交都取消掉,直接合并最后一次提交上去,比如

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

我想最终在历史记录只有

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

应该怎么做?
我平时用 SmartGit,不过用命令行解决也行

世界只因有你世界只因有你2763 hari yang lalu614

membalas semua(1)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-05-02 09:24:52

    git rebase -i <eeeee的前一次提交>
    Tetapkan bahagian hadapan komit yang tidak perlu kepada s, simpan dan keluar, kemudian edit log baharu, yang lebih rumit

    Ada kaedah lain, tetapi ia memerlukan aaaaa untuk menjadi komitmen terkini
    git reset --soft <eeeee的前一次提交> dan kemudian semula-git commit

    Apa pun, kedua-dua kaedah ini adalah operasi yang agak berbahaya. Adalah disyorkan bahawa orang baru mencari projek kegemaran untuk dicuba dahulu

    balas
    0
  • Batalbalas