Git:随着时间的推移将更改发布到母版

时间:2018-11-10 00:30:38

标签: python git gitpython technical-debt

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

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

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

是否有一些有效的方法来实现这一目标?谢谢!

1 个答案:

答案 0 :(得分:0)

  

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

一旦您拥有如上所述的提交列表,请遍历它们并运行以下命令:

git diff

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

enter image description here


git diff

  

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

     

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