Saya selalu setuju dengan mantra Mercurial 1 , namun, sekarang Mercurial dibundel dengan ekstensi rebase dan itu adalah praktik populer di git, saya bertanya-tanya apakah itu benar-benar dapat dianggap sebagai "praktik buruk", atau setidaknya cukup buruk untuk menghindari penggunaan. Dalam kasus apa pun, saya sadar bahwa rebasing berbahaya setelah mendorong.
OTOH, saya melihat titik mencoba mengemas 5 komitmen dalam satu komitmen agar terlihat lebih bagus (khususnya di cabang produksi), namun, secara pribadi saya pikir akan lebih baik untuk dapat melihat sebagian komitmen terhadap fitur di mana beberapa Eksperimen sudah dilakukan, walaupun tidak sebagus itu, tetapi melihat sesuatu seperti "Mencoba melakukannya dengan cara X tetapi tidak seoptimal Y setelah semua, melakukannya dengan mengambil Y sebagai basis" akan IMHO memiliki nilai yang baik untuk mereka yang belajar basis kode dan ikuti kereta pemikiran pengembang.
Sudut pandang saya yang sangat keras kepala (seperti dalam bisu, visceral, bias) adalah bahwa pemrogram suka rebase untuk menyembunyikan kesalahan ... dan saya tidak berpikir ini baik untuk proyek sama sekali.
Jadi pertanyaan saya adalah: apakah Anda benar-benar menemukan berharga untuk memiliki "komitmen organik" seperti itu (yaitu sejarah yang tidak terampas) dalam praktik?, Atau sebaliknya, apakah Anda lebih suka mengalami komit yang dikemas dengan baik dan mengabaikan proses eksperimen programmer?; mana yang Anda pilih, mengapa itu bekerja untuk Anda? (memiliki anggota tim lain untuk menyimpan sejarah, atau sebagai alternatif, mengembalikannya).
1 per analisis Google DVCS , dalam Mercurial "History is Sacred".