Ami*_*ari 111
使用GitPython将为您提供一个良好的Git python接口.
例如,在安装it(pip install gitpython)之后,为了克隆新的存储库,您可以使用clone_from函数:
from git import Repo
Repo.clone_from(git_url, repo_dir)
Run Code Online (Sandbox Code Playgroud)
有关使用Repo对象的示例,请参阅GitPython教程.
注意: GitPython需要在系统上安装git,并可通过系统的PATH访问.
Deb*_*ski 42
有GitPython.在内部和内部都没有听说过,它依赖于某处的git可执行文件; 此外,他们可能有很多错误.但它值得一试.
如何克隆:
import git
git.Git("/your/directory/to/clone").clone("git://gitorious.org/git-python/mainline.git")
Run Code Online (Sandbox Code Playgroud)
(这不好,我不知道它是否是支持的方式,但它有效.)
小智 15
我的解决方案非常简单直接.它甚至不需要手动输入释义/密码.
这是我的完整代码:import sys import os
import sys
import os
path = "/path/to/store/your/cloned/project"
clone = "git clone gitolite@<server_ip>:/your/project/name.git"
os.system("sshpass -p your_password ssh user_name@your_localhost")
os.chdir(path) # Specifying the path where the cloned project needs to be copied
os.system(clone) # Cloning
Run Code Online (Sandbox Code Playgroud)
cri*_*aig 10
这是一种在使用GitPython克隆存储库时打印进度的方法
import time
import git
from git import RemoteProgress
class CloneProgress(RemoteProgress):
def update(self, op_code, cur_count, max_count=None, message=''):
if message:
print(message)
print('Cloning into %s' % git_root)
git.Repo.clone_from('https://github.com/your-repo', '/your/repo/dir',
branch='master', progress=CloneProgress())
Run Code Online (Sandbox Code Playgroud)
Github的libgit2绑定,pygit2提供了一个单行克隆远程目录:
clone_repository(url, path,
bare=False, repository=None, remote=None, checkout_branch=None, callbacks=None)
Run Code Online (Sandbox Code Playgroud)
对于蟒蛇 3
首先安装模块:
pip3 install gitpython
Run Code Online (Sandbox Code Playgroud)
稍后,对其进行编码:)
import os
from git.repo.base import Repo
Repo.clone_from("https://github.com/*****", "folderToSave")
Run Code Online (Sandbox Code Playgroud)
我希望这可以帮助你
您可以使用dload
import dload
dload.git_clone("https://github.com/some_repo.git")
Run Code Online (Sandbox Code Playgroud)
pip install dload
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
113600 次 |
| 最近记录: |