我一直都同意Mercurial的口头禅1,但是,既然Mercurial与rebase扩展捆绑在一起,并且它是git中的流行做法,我想知道它是否真的可以被视为“不良做法”,或者至少足以避免使用。无论如何,我都知道在推送之后重新部署基地很危险。
OTOH,我认为尝试将5个提交打包到一个文件中以使其看起来更整洁(尤其是在生产分支中)的意义,但是,我个人认为能够对部分功能进行部分提交会更好一些实验已经完成,即使它不是很漂亮,但是看到类似“尝试用X来做,但毕竟不如Y,以Y为基数做Z”这样的内容,恕我直言对那些学习的人来说具有很好的价值。代码库,并遵循开发人员的思路。
我非常自以为是(愚蠢,内脏,有偏见)的观点是,程序员喜欢重新设置基础以隐藏错误……而且我认为这根本不适合该项目。
所以我的问题是:您是否真的发现在实践中拥有这样的“有机提交”(即不受干扰的历史记录)很有价值?或者相反,您是否更喜欢遇到包装精美的提交,而无视程序员的实验过程?无论您选择哪个,为什么对您有用?(让其他团队成员保留历史记录,或者根据需要重新建立历史记录)。
根据Google DVCS分析的1,在Mercurial“历史为神圣”中。