git - 如何有不可见的 git meta 提交?

标签 git formatting

简短版:

有没有办法将更改 checkin git 存储库,但“stash ”一般消费的更改集元数据(保留 blame 中的先前更改集等)?

长版:

我最近继承了一个代码库,从外观上看,它有一个初始团队领导,他鼓励他的每个开发人员——作为一种精神成长的练习——去探索世界并找到一种格式化风格他们觉得最有禅意的是……真正找到自己的各种艺术风格,将其应用于代码格式化,每天画出代码杰作,过着艺术家的生活。

出现了一些模式,例如随机选择语句之间换行符的数量、包装每个方法参数——声明调用……它一直在继续,但是基本上,我想在 IDE 中设置我的格式首选项,松开几个小时,清理混淆的地方,然后提交。我从团队那里得到了一些(有效的)反对意见,关于在注释等中显示的容易看到的“最后一个触摸它”插槽中丢失所有历史记录。

有什么方法可以做出不影响这些变化的改变吗?我也在想可能有一个分支技巧可以做一些事情,比如分支,在分支中格式化,将另一个分支重新整合到那个分支中,以某种方式使我的“ secret 提交”升级到最新版本,这将保留旧版本

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

最佳答案

短:没有

Long:要向一致的风格迁移,鼓励您的开发人员同事修改代码,使其在处理代码时符合您的通用风格。这样,对于未更改的代码,责任归因保持一致。对于被修改的代码,责任归因会转移到最后接触它的开发人员身上。如果愿意,您可以在更精细的基础上执行此操作,例如清理每个函数的格式。

关于git - 如何有不可见的 git meta 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713987/

相关文章:

git Branch -a 产生不一致的结果?

git - 将 git 提交与 Team Foundation 工作项相关联

当文件在两个分支中移动时 Git merge 失败

postgresql - 我可以在 PostgreSQL 中获得 CSV header 但没有行数吗?

python - Jinja2 填充和对齐字符串

Git pull - 使用 -u 选项的默认远程和分支 - 适用于推送但不适用于 pull

git - 如何将 git lfs 与 "normal"git 一起使用

ios - Xcode 5 缩进问题

floating-point - 如何格式化具有特定精度和前置零的 f32?

Python时间转换h :m:s to seconds