我创建了一个简单的脚本,它使用 GitPython 标记已 check out 的特定分支上的最新提交。
from git import Repo
def TagRepo(path, tag):
repo = Repo(path)
repo.create_tag(tag)
repo.remotes.origin.push(tag)
if __name__ == "__main__":
parser = optparse.OptionParser('usage: %prog [options] ')
parser.add_option('-p', '--path', dest='path', help='path to repo')
parser.add_option('-t', '--tag', dest='tag', help='Tag label')
(options, args) = parser.parse_args()
TagRepo(options.path, options.tag)
我想改进它,以便我可以将特定提交的 SHA 和标记传递给它,而不是分支上的最新提交,但我看不到如何使用 GitPython 做到这一点。
最佳答案
来自 module 的文档:
获取指定版本的提交
repo.commit('master')
repo.commit('v0.8.1')
repo.commit('HEAD~10')
因此,要检索特定的提交,只需使用 repo.commit('SHA-1')
关于python - 如何使用 GitPython 标记特定提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48112931/