隐形的git元提交

时间:2012-03-15 04:26:37

标签: git formatting

我有一个问题,故事所描述的原因。为了尊重读者的时间,可以跳过故事部分。 :)

短: 有没有办法检查对git存储库的更改但是“隐藏”变更集元数据与一般消费(保留先前的变更集中的责任等)?

长(随意跳过剩下的): 我最近继承了一个代码库,从它的外观来看,它有一个最初的团队领导者,鼓励他的每个开发人员 - 作为精神成长的练习 - 来觅食世界并找到一种格式化的风格。他觉得自己最像禅......真正找到他们各种艺术风格,将它们应用于代码格式化,并在每天绘制代码杰作时过着艺术家的生活。出现了一些模式,例如随机选择语句之间的换行符数,包装每个方法参数 - 声明调用......它会继续,但基本上我想要在IDE中设置我的格式化首选项,将其松散几个小时,清理它混淆的位置,并提交它。我从团队那里得到了一些(有效的)推迟,即在注释等显示的“最后一个触摸它”插槽中丢失所有历史记录。有没有什么办法可以做出不会让那些东西消失的改变?我也在想,可能会有一个分支技巧,可以做分支,格式化分支,将另一个分支重新整合到那个分支中,以某种方式使我的“秘密提交”升级最新的保留旧的的。

有人有什么建议吗?我完全愿意为这一次性招待黑客。 :)

2 个答案:

答案 0 :(得分:5)

简短:不。

Long:要向一致的样式迁移,请鼓励您的开发人员修改代码,使其符合您在工作时的常用样式 。这样,责备归因对于尚未更改的代码保持一致。对于已修改的代码,责任归因然后会迁移到最后触及它的开发人员。您可以在更细微的基础上执行此操作,例如,如果您愿意,可以清理每个函数的格式化。

答案 1 :(得分:2)

你在这里要求的东西违反了Git的“精神”(因为没有更好的术语)。

Git认真对待非常的历史。这是系统的设计目标,一旦发布,如果没有人注意到,提交就无法改变。您可以看到该设计决策对Git如何运作的影响。例如,提交消息不容易修改,一旦推送就几乎不可能改变。

换句话说,默默地或秘密地将内容提交到您的Git存储库将无法正常工作。