如果我git log --no-walk --tags --reverse
在 Windows shell 中执行命令,我会得到如下结果:
commit e83dcf42f2a52183cf21642c7b8deb42961663f3 (tag: my_tag)
Author: an_author
Date: a_date
而如果我从 Python 脚本执行相同的 Git 命令:
subprocess.check_output(['git', 'log', '--no-walk', '--tags', '--reverse'], stderr=subprocess.PIPE).decode(sys.stdout.encoding)
我得到以下结果:
commit e83dcf42f2a52183cf21642c7b8deb42961663f3
Author: an_author
Date: a_date
如您所见,缺少标签信息,正如您猜测的那样,我需要它。我可以做些什么来从 Python subprocess.check_output 获取标签信息?
当您想要解析git
输出时,您应该使用其用于脚本编写的命令的形式。在这种情况下,它意味着--pretty=format:
1选项。该%D
说明符提供指向提交裁判的名字,当然你需要明确指定你想要的所有领域。
您可能还想使用较低级别的git rev-list
命令而不是 log;它有类似的选项,但承诺为脚本使用提供稳定的界面。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句