我怎样才能使用git python get diffs

问题描述 投票:0回答:2

我正在尝试使用GitPython以我想要的格式获取差异。

对于每个文件我想要3个列表。已更改,添加和删除的行列表。

我一直在网上查看文档,似乎无法弄清楚如何做到这一点。

python git gitpython
2个回答
1
投票

据我所知,实际上没有办法做到这一点。

你认为他们会实现这个功能,但据我所知,文件级差异并没有直接在GitPython中实现。

在GitPython中检索更改行的唯一方法是直接使用git命令,如下所示:

from git import Repo
repo = Repo('path/to/repo')
filename = 'path/to/repo/subdir/myfile'
diff_output = repo.git.diff(filename)

diff_output现在包含相同的内容,如果你这样做,你会看到:

$ cd path/to/repo
$ git diff subdir/myfile

所以它不是很有用。您可能需要编写自己的代码来解析diff文件以获取所需的信息。

令人沮丧,因为我想要一个类似的功能,看起来我唯一的选择真的是手动解析git差异。

我必须假设GitPython主要用于管理对分支等的更改,而不是检查或处理文件级别的源代码更改。


0
投票

看到这个documentation。它可能很有用。

© www.soinside.com 2019 - 2024. All rights reserved.