Tôi đã luôn đồng ý với câu thần chú 1 của Mercurial , tuy nhiên, bây giờ Mercurial đi kèm với phần mở rộng rebase và đó là một thực tiễn phổ biến trong git, tôi tự hỏi liệu nó có thực sự được coi là một "thực hành xấu" hay ít nhất là đủ xấu để tránh sử dụng. Trong mọi trường hợp, tôi nhận thức được việc nổi loạn là nguy hiểm sau khi đẩy.
OTOH, tôi thấy quan điểm của việc cố gắng gói 5 lần cam kết trong một lần duy nhất để làm cho nó trông gọn gàng hơn (đặc biệt là trong một chi nhánh sản xuất), tuy nhiên, cá nhân tôi nghĩ rằng sẽ tốt hơn khi có thể thấy một phần cam kết với một tính năng trong đó một số thử nghiệm đã được thực hiện, ngay cả khi nó không tiện lợi, nhưng nhìn thấy một cái gì đó như "Đã thử làm theo cách X nhưng nó không tối ưu như Y sau tất cả, làm Z lấy Y làm cơ sở" thì IMHO có giá trị tốt đối với những người đang nghiên cứu cơ sở mã hóa và theo dõi các nhà phát triển tư tưởng.
Quan điểm rất quan điểm của tôi (như trong câm, nội tạng, thiên vị) là các lập trình viên thích nổi loạn để che giấu sai lầm ... và tôi không nghĩ rằng điều này tốt cho dự án.
Vì vậy, câu hỏi của tôi là: bạn có thực sự thấy có giá trị khi có những "cam kết hữu cơ" như vậy (tức là lịch sử không bị làm phiền) trong thực tế không?, Hoặc ngược lại, bạn có thích chạy vào các cam kết được đóng gói cẩn thận và coi thường quá trình thử nghiệm của các lập trình viên không?; bạn chọn cái nào, tại sao nó lại phù hợp với bạn? (có các thành viên khác trong nhóm để giữ lịch sử, hoặc cách khác, đánh bại nó).
1 cho mỗi phân tích DVCS của Google , trong "Lịch sử là thiêng liêng" của Mercurial.