/ / Como faço para marcar um commit específico com o GitPython - python, git, gitpython

Como faço para marcar um commit específico com o GitPython - python, git, gitpython

Eu criei um script simples que usa o GitPython para marcar o commit mais recente em uma ramificação específica que já foi registrada.

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)

Eu quero melhorá-lo para que eu possa passar um SHA de commit específico e marcar isso em vez do commit mais recente no branch, mas não consigo ver como fazer isso com o GitPython.

Respostas:

1 para resposta № 1

Da documentação do módulo:

Obter confirmações na revisão especificada

    repo.commit("master")
repo.commit("v0.8.1")
repo.commit("HEAD~10")

Então, para recuperar um commit específico, use repo.commit("SHA-1")