git 저장소를 복제하기 위해 서브 프로세스를 사용하지 않고 파이썬 방식이 있습니까? 내가 추천하는 모듈을 사용하고 있습니다.git 저장소를 복제하는 Python 방법
답변
http://gitorious.org/git-python/입니다. 전에는 내부적으로 들어 본 적이 없으므로 git 실행 파일을 어딘가에 가지고 있어야합니다. 또한 버그가 많을 수도 있습니다. 그러나 시도할만한 가치가있을 수 있습니다.
는 복제하는 방법 : 이import git
git.Git("/your/directory/to/clone").clone("git://gitorious.org/git-python/mainline.git")
(. 그것은 좋은하지 그리고 그것을 할 수있는 지원 방법인지는 모르겠지만, 그것은 일) Dulwich 팁으로
당신은해야한다 - 객체와 심판에서 복사합니다,하지만이 아닌 맨손으로 저장소를 만들 경우 아직 작업 트리의 내용을 작성하지 않습니다
from dulwich.repo import Repo
Repo("/path/to/source").clone("/path/to/target")
이 여전히 매우 기본적인 : 할 수.
GitPython을 사용하면 Git에 좋은 파이썬 인터페이스를 제공합니다.
from git import Repo
Repo.clone_from(git_url, repo_dir)
참고 : GitPython이 시스템에 설치되어 자식을 요구하고 접근 시스템의 경로를 통해
예를 들어, 새 저장소를 복제, 그것은 (pip install gitpython
)를 설치 한 후에는 clone_from 기능을 사용할 수 있습니다 .
"pip install gitpython"이 최신 빌드를 설치하지 않아 clone_from이없는 1.7이 설치 되었기 때문에 저에게 효과가 없었습니다. 죄송합니다 downvote, 내 b : ( – blented
@blented 언급을 주셔서 감사합니다. 그러나 유감스럽게도 GitPython 버전 관리 (1.7이 너무 오래되었습니다.)로 인해. 어쨌든, 나는이 질문을보고 누구나 쉽게 찾을 수있을 것으로 기대합니다. 대신'pip install gitpython == 0.3.2.RC1'을 실행하십시오! –
@AmirAliAkbari 0.3.2 RC1이 이제 기본 설치 후보자입니다. – Kasisnu
내 솔루션은 매우 간단하고 정직합니다. 그것도 의역 입력/암호 수동 입력이 필요하지 않습니다. 여기
내 전체 코드입니다 :
import os
import sys
path = "/path/to/store/your/cloned/project"
clone = "git clone [email protected]:/your/project/name.git"
os.system("sshpass -p your_password ssh [email protected]_localhost")
os.chdir(path) # Specifying the path where the cloned project has to be copied
os.system(clone) # Cloning
print "\n CLONED SUCCESSFULLY.! \n"
- 1. git 저장소를 선택적으로 복제하는 방법
- 2. 개인 키로 GIT 저장소를 복제하는 방법
- 3. 자식 저장소를 복제하는 부끄러운 방법이 있습니까?
- 4. 원격 저장소를 추가하고 복제하는 것의 차이점은 무엇입니까?
- 5. PHP와 Git 저장소를 연결하는 방법
- 6. 이름에`: '가 포함 된 로컬 자식 저장소를 복제하는 방법은 무엇입니까?
- 7. 원격 Git 저장소를 가져오고 체크 아웃하는 방법
- 8. git-svn 저장소를 다시 초기화하는 방법
- 9. EC2 인스턴스에서 자식 저장소를 복제하는 데 문제가 있습니다.
- 10. TeamCity가 git 저장소를 복제하도록 만들기
- 11. 어떻게 Git 저장소를 깨끗하게 분할합니까?
- 12. Heroku에서 git 저장소를 검색하려면 어떻게해야합니까?
- 13. 대형 git 저장소를 어떻게 관리합니까?
- 14. .git 폴더가없는 자식 저장소에서 브랜치의 작업 디렉토리 만 복제하는 방법
- 15. Windows에서 git bash를 사용하여 Android 프로젝트를 복제하는 방법
- 16. Mercurial을 Subversion에 복제하는 방법?
- 17. 복제하는 동안 git repo의 절대 경로를 제공하지 않으려면 어떻게해야하나요?
- 18. Liferay 포틀릿을 복제하는 방법
- 19. Oracle에서 사용자를 복제하는 방법
- 20. HttpWebRequest를 복제하는 방법?
- 21. memcache로 데이터를 복제하는 방법
- 22. IMAP 사서함을 복제하는 방법
- 23. URI를 복제하는 방법
- 24. Mercurial : ssh를 통해 원격 저장소를 복제하는 중 오류가 발생합니다.
- 25. git 저장소를 Windows에 복사 할 수 있습니까?
- 26. git 저장소의 상위 상위 저장소를 어떻게 결정합니까?
- 27. bzr 저장소를 Git 하위 모듈로 추적
- 28. git없이 git 저장소를 다운로드 할 수 있습니까?
- 29. 저장소를 복제하지 않고 Git 로그를 사용 하시겠습니까?
- 30. Mac에서 내 git 저장소를 모두 검색하려면 어떻게합니까?
gitpy, 나는 그것이 – SilentGhost
@SilentGhost 호출 할 것 같아요 당신은 *이 * gitpy을 의미? http://github.com/vmalloc/gitpy from http://www.ryaari.com/blog/?p=9 – VonC
GitPython (http://pypi.python.org/pypi/GitPython, http : //gitorious.org/git-python) 복제 방법이 없다고 생각하지만, 당신이 하나를 추가 할 수 있다고 확신 할 수 있습니다 ... 내부적으로는 어떻게해서든지 '복제 복제본'을 호출해야 할 것입니다. – Cascabel