如何使用gitpython获取上一个标签和当前标签之间的git日志

问题描述

我正在尝试使用 gitpython 从特定分支获取一个标签和当前标签间的 git 日志,为此我尝试了以下代码

import git
repo = git.Git(r"user\my_name\file")

切换分支

branches = 'Branch-1'
repo.checkout(branches)

然后我尝试获取日志

log = repo.log("$(git describe --abbrev=0 --tags --always \"$(git describe --abbrev=0)\"^)..$(git describe --abbrev=0)",'--no-merges')

GitCommandError: Cmd('git') 失败,原因是:退出代码 (128) cmdline: git log $(git describe --abbrev=0 --tags --always "$(git describe --abbrev=0)"^)..$(git describe --abbrev=0) --no-merges stderr: '致命: 模棱两可的参数 '$(git describe --abbrev=0 --tags --always "$(git describe --abbrev=0)"^)..$(git describe --abbrev=0)' : 未知修订版或路径不在工作树中。 使用“--”将路径与修订分开,如下所示: 'git [...] -- [...]''

下面的代码给出了当前标签

git describe --abbrev=0 --tags --always \"$(git describe --abbrev=0)\"^

这给出了前一个标签

git describe --abbrev=0

但是在命令行中,我尝试先切换到该特定分支,然后执行

 git log $(git describe --abbrev=0 --tags --always "$(git describe --abbrev=0)"^)..$(git describe --abbrev=0)

上面的命令给了我想要的输出,但使用 gitpython 我无法得到,请帮我解决这个问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)