GitPython允许我处理Git工作副本。我想用它。但是,如何使用GitPython获取唯一部分,即"缩写的参考ID"?
所以我对--abbrev-commit
给git log
的{{1}}选项感兴趣(例如在git log --abbrev-commit --pretty=oneline -n 1
中)。
我如何在GitPython中获得 - 或者我是否必须通过枚举参考ID并自行计算所需的长度来实现这一点?
答案 0 :(得分:3)
以下代码是关于如何使用GitPython中的git rev-parse --short
功能的示例:
import git
r = git.Repo()
short = r.git.rev_parse(r.head, short=True)
print(short)
# u'f360ecd'
似乎使用git-command比以安全方式自己实现它更好。
一个天真的纯python实现可能看起来像这样:
r.head.commit.hexsha[:7]
但是,它不会检查所获得的前缀在创建时是否真正唯一,这就是为什么应首选基于git命令的方法。