cari

Rumah  >  Soal Jawab  >  teks badan

Cara menggunakan rebase untuk menggabungkan beberapa komitmen dalam Git

Dikatakan bahawa Git boleh menggabungkan beberapa komit melalui rebase, dan akhirnya meninggalkan hanya yang digabungkan dalam sejarah.

Kerana saya menyerahkan beberapa penyerahan di tengah-tengah semasa membetulkan pepijat, tetapi akhirnya saya perlu membatalkan semua penyerahan perantaraan dan terus menggabungkan penyerahan terakhir, seperti

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

Saya mahu berakhir dengan hanya

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

Apa yang perlu saya lakukan?
Saya biasanya menggunakan SmartGit, tetapi anda juga boleh menggunakan baris arahan untuk menyelesaikannya

世界只因有你世界只因有你2821 hari yang lalu651

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