GitPython 相当于 git diff HEAD
GitPython equivalent to git diff HEAD
我有:
- 5 个已修改但未暂存的文件
- 2 个已修改和暂存的文件
- 因此修改了 7 个文件。
我知道以下等同于 git 命令的 GitPython:
repo.index.diff(None)
给出与 git diff
相同的结果 - 5 个已修改但未暂存的文件
repo.index.diff('HEAD')
令人惊讶地给出了与 git diff --staged
相同的结果 - 2 个已修改和暂存的文件
因此我的问题是,GitPython 等同于 git diff HEAD
是什么?
P.S。我可以合并 repo.index.diff(None)
和 repo.index.diff('HEAD')
的结果以获得所需的输出,但它看起来很愚蠢...
以下对我有用:
repo = git.Repo('path/to/my/repo')
print(repo.git.diff(repo.commit()))
这显示了分阶段和非分阶段修改的差异。
以下使用 GitPython
对我有用。
repo = git.Repo(".")
output = repo.index.diff("HEAD")
我有:
- 5 个已修改但未暂存的文件
- 2 个已修改和暂存的文件
- 因此修改了 7 个文件。
我知道以下等同于 git 命令的 GitPython:
repo.index.diff(None)
给出与git diff
相同的结果 - 5 个已修改但未暂存的文件repo.index.diff('HEAD')
令人惊讶地给出了与git diff --staged
相同的结果 - 2 个已修改和暂存的文件
因此我的问题是,GitPython 等同于 git diff HEAD
是什么?
P.S。我可以合并 repo.index.diff(None)
和 repo.index.diff('HEAD')
的结果以获得所需的输出,但它看起来很愚蠢...
以下对我有用:
repo = git.Repo('path/to/my/repo')
print(repo.git.diff(repo.commit()))
这显示了分阶段和非分阶段修改的差异。
以下使用 GitPython
对我有用。
repo = git.Repo(".")
output = repo.index.diff("HEAD")