如何通过GitPython使用命令(git archive --remote)?根据GitPython文档,我们可以直接使用git。我正在做类似的事情:
git = repo.git git.archive(remote ='http://path')
但是出现错误 “异常是:Cmd('git')由于以下原因而失败:退出代码(1)”
是否可以查看示例以python脚本执行git archive --remote?
谢谢
答案 0 :(得分:0)
这个问题很老了,但我遇到了同样的问题,所以这是我的解决方案:
import git
import shutil
url = 'ssh://url-to.my/repo.git'
remote_ref = 'master'
tmprepo = 'temprepo'
tarball = 'contents.tar'
try:
repo = git.Repo.init(tmprepo)
repo.create_remote('origin', url)
repo.remote().fetch(remote_ref)
with open(tarball, 'wb') as f:
repo.archive(f, f'remotes/origin/{remote_ref}', path=None)
print('Success')
finally:
shutil.rmtree(tmprepo)
一些注意事项:
path
参数设置为有意义的值fetch()
调用。函数采用的 **kwargs
在这里可能会有所帮助(请参阅 man git-fetch
)