如何用python构造git-diff查询

2024-09-29 23:15:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我用的是推荐的GitPython module, 但我不知道如何构造以下命令:

git diff --name-status ec04352 b945e6c 

我想获取两次提交之间所有修改过的文件的信息,这个命令正是我想要做的。你能评论一下吗?在


Tags: 文件namegit命令信息status评论diff
2条回答

这是一种方法:

import git

repo = git.Repo('path/to/your/repo')
print repo.git.diff('ec04352', 'b945e6c', **{'name-status': True})

不过,这是走后门的。在

你应该可以这样做:

^{pr2}$

您需要使用Diff对象来找出区别。在

请参阅GitPython手册中的Obtaining Diff Information,以了解如何获取两个提交之间的差异信息。在

hcommit = repo.head.commit
idiff = hcommit.diff()          # diff tree against index
tdiff = hcommit.diff('HEAD~1')  # diff tree against previous tree
wdiff = hcommit.diff(None)      # diff tree against working tree

这些命令返回一个DiffIndex,其中包含iter_change_type,您可以使用四种不同的更改类型('A', 'D', 'R', 'M')中的每一种来调用该文件,以获取已更改(添加、删除、重命名、修改)的路径。在

相关问题 更多 >

    热门问题