2024-09-29 23:15:58 发布
网友
我用的是推荐的GitPython module, 但我不知道如何构造以下命令:
git diff --name-status ec04352 b945e6c
我想获取两次提交之间所有修改过的文件的信息,这个命令正是我想要做的。你能评论一下吗?在
这是一种方法:
import git repo = git.Repo('path/to/your/repo') print repo.git.diff('ec04352', 'b945e6c', **{'name-status': True})
不过,这是走后门的。在
你应该可以这样做:
您需要使用Diff对象来找出区别。在
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')中的每一种来调用该文件,以获取已更改(添加、删除、重命名、修改)的路径。在
iter_change_type
'A', 'D', 'R', 'M'
这是一种方法:
不过,这是走后门的。在
你应该可以这样做:
^{pr2}$您需要使用
Diff
对象来找出区别。在请参阅GitPython手册中的Obtaining Diff Information,以了解如何获取两个提交之间的差异信息。在
这些命令返回一个DiffIndex,其中包含
iter_change_type
,您可以使用四种不同的更改类型('A', 'D', 'R', 'M'
)中的每一种来调用该文件,以获取已更改(添加、删除、重命名、修改)的路径。在相关问题 更多 >
编程相关推荐