我必须导出标签的特定路径。
git命令是git archive <tag>
但是我没有发现用gitpython做到这一点
我尝试过
repo.archive(tar, "<tag>")
没有运气。
答案 0 :(得分:2)
import git
import os.path
repopath = '/path/to/repo'
repo = git.Repo(repopath)
repo.git.archive('<tag>', '-o', '<tag>.zip')
if os.path.exists('<tag>.zip'):
pass
您几乎可以将所有git命令转换为repo.git.<cmd>(arg0, arg1, ...)
。需要将命令名称中的-
替换为_
。
git log --oneline -> output = repo.git.log('--oneline')
git commit --allow-empty -m "foo bar" -> output = repo.git.commit('--allow-empty', '-m', 'foo bar')
git ls-tree -r -t HEAD -> output = repo.git.ls_tree('-r', '-t', 'HEAD')