我如何使用GitPython中的命令(git archive --remote)?根据GitPython文档,我们可以直接使用git。我的操作如下:
git = repo.git git.archive(remote='http://path')
但是会出现错误 "Exception is : Cmd('git') failed due to: exit code(1)"
有没有可以参考的示例来在Python脚本中执行git archive --remote命令?
谢谢
我如何使用GitPython中的命令(git archive --remote)?根据GitPython文档,我们可以直接使用git。我的操作如下:
git = repo.git git.archive(remote='http://path')
但是会出现错误 "Exception is : Cmd('git') failed due to: exit code(1)"
有没有可以参考的示例来在Python脚本中执行git archive --remote命令?
谢谢
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
)