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 № 1Da 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")