Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在gitpython的最新提交中打印更改的文件路径_Python_Git_Gitpython - Fatal编程技术网

在gitpython的最新提交中打印更改的文件路径

在gitpython的最新提交中打印更改的文件路径,python,git,gitpython,Python,Git,Gitpython,在git python中,我试图获取最新提交和之前提交之间更改的文件路径。 问题是,即使最新的提交更改了文件,其显示的内容也会更多。 下面是我的代码:- repo = git.Repo(path) commits_list = list(repo.iter_commits()) a_commit = commits_list[0] b_commit = commits_list[-1] itemDiff = a_commit.diff(b_commit) for item in itemDi

在git python中,我试图获取最新提交和之前提交之间更改的文件路径。 问题是,即使最新的提交更改了文件,其显示的内容也会更多。 下面是我的代码:-

repo = git.Repo(path)
commits_list = list(repo.iter_commits())
a_commit = commits_list[0]
b_commit = commits_list[-1]

itemDiff = a_commit.diff(b_commit)

for item in itemDiff
print(item.a_path)

我正试图以此对抗一个本地克隆回购协议。我做错了什么?

< P>如果你需要从回购中读取,考虑使用GITPython的抽象。


如果您需要从回购协议中读取,请考虑使用GITPython的抽象。


itemDiff=itemDiff:print(item.a_路径)中的项的repo.head.commit.diff('head~1')。。。。这很有效。不明白为什么第一个代码段会出现问题。请小心for循环的缩进和两点。对于itemDiff:print(item.a_路径)中的项,itemDiff=repo.head.commit.diff('head~1')对于itemDiff:print(item.a_路径)。。。。这很有效。不明白为什么第一个代码段会出现问题。请小心for循环的缩进和两点。对于itemDiff中的项目:打印(item.a_路径)
for commit in RepositoryMining("repo").traverse_commits():
    for modified_file in commit.modifications:
        modified_file.new_path # here you have the path of all the files changed in the commit