我曾经回去编辑我的Mercurial提交,试图创造一个漂亮的历史.我可能已经将两个不相关的东西放入一个提交中,或者我可能已经做了几个提交,这些提交被更好地理解为单个提交,但最终它似乎是浪费时间而且我克服了不完美历史的轻微尴尬.
你还这样做吗?为什么对你有价值,你为什么不再这样做,你有没有这样做,或者你是否想要开始?
如果我为Linux内核做出贡献,这显然值得我花时间,因为Linus会拒绝我的补丁,但IMO dvcs用户的一个重大错误就是想象他们的项目就像Linux内核.我的项目通常只有少数开发人员.
这不值得努力.
只要"小费"很漂亮,你最好让历史变得丑陋并准确地反映出工作的结果,而不是你希望工作的结果.
当我正在挖掘历史时,有一半时间我会问"这曾经是什么样的?" 但另一半时间我问"为什么这最终看起来像这样"我希望看到开发人员的失败尝试,即使他宁愿抹去这样一个事实,即他曾试图沿着这条路走下去好吧.
我努力清理我的修订历史.我的工作流程沿着做一个小但有意义的编辑,提交,重复的行,直到做出一系列更大的修改.然后我返回并重新命令/将提交组合成功能原子提交,并推送那些修改后的提交.这允许其他开发人员查看创建功能差异的提交,而不是大量提交的大量墙.在回归发生时更容易调试回归.