【问题标题】:Git:get changes released to master over timeGit:随着时间的推移将更改发布到主控
【发布时间】:2019-04-13 13:37:53
【问题描述】:

作为一个个人项目,我想检查不同的 python 库和项目(无论是专有的还是开源的)并分析代码在不同版本中随着时间的推移是如何变化的,以收集有关技术债务的一些信息(主要通过静态代码分析)。我正在使用gitpython 库执行此操作。但是,我正在努力过滤对master 的合并提交。

我使用git.log("--merges", "--first-parent", "master") 过滤合并提交,从中提取提交哈希并从所有存储库提交中过滤这些特定提交。

作为第二部分,我想在每次合并提交中获取所有更改的文件。我可以通过 git tree 访问 blob,但我不知道如何只获取更改的文件。

有没有一些有效的方法来实现这一点?谢谢!

【问题讨论】:

    标签: python git gitpython technical-debt


    【解决方案1】:

    ...我想在每次合并提交中获取所有更改的文件。 ...但我不知道如何只获取更改的文件。

    一旦你有了上面描述的提交列表,循环它们并运行以下命令:

    git diff

    git diff--name-only 标志一起使用


    git diff

    --name-only
    仅显示更改文件的名称。

    --name-status
    仅显示更改文件的名称和状态。有关状态字母的含义,请参阅 --diff-filter 选项的说明。

    【讨论】:

      猜你喜欢
      • 2019-08-12
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-21
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多