【问题标题】:git diff standardized/normalized outputgit diff 标准化/标准化输出
【发布时间】:2019-02-27 13:26:11
【问题描述】:

我们正在开展一个项目,在该项目中我们运行一个脚本来生成带有git diff 和/或git show 的补丁文件。然后将该补丁文件提交给 git。

默认情况下,git diff 可以根据本地 git 配置有不同的输出。如果开发人员在自己的机器上更新补丁文件,这会导致不受欢迎的噪音。

例子:

  • 文件 blob 哈希的长度不同。这可以通过--full-index 解决。
  • 使用-R 参数(反向差异)运行时,路径前缀“a/”和“b/”被交换,如果本地配置有 diff.noprefix = true,则省略。
  • 每个 git sn-p 的“上下文”:例如有时我在那里看到一个 PHP 类名,有时是一个 PHP 函数名,用于不同环境的同一个项目中的相同差异。

是否有推荐的方法来保证 git diff 的标准化输出格式?

(我想 git show 也一样,但让我们专注于 git diff)

【问题讨论】:

    标签: git git-diff


    【解决方案1】:

    最简单的方法就是首先停止 git 加载用户配置。如果有官方方法可以做到这一点,我不知道,但这个技巧会起作用:

    env HOME=/nowhere git diff
    

    【讨论】:

    • 这样可以避免使用全局用户配置,但仍然使用系统配置和存储库配置。
    猜你喜欢
    • 2013-06-09
    • 2017-11-11
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多