有沒有使用子進程來克隆git倉庫的Python方式?我渴望使用你推薦的任何模塊。Python的方式克隆git倉庫
36
A
回答
19
有http://gitorious.org/git-python/。在之前和內部沒有聽說過它,它依賴於git可執行文件的某處;另外,他們可能有很多bug。但它可能值得一試。
如何克隆:
import git
git.Git("/your/directory/to/clone").clone("git://gitorious.org/git-python/mainline.git")
(這不是很好,我不知道這是否是做它的支持方式,但它的工作)
1
隨着德威提示你應該能夠做到:
from dulwich.repo import Repo
Repo("/path/to/source").clone("/path/to/target")
這仍然是非常基本的 - 跨對象和裁判它複製,但是,如果你創建一個非純倉庫還沒有創建工作樹中的內容。
60
使用GitPython將爲您提供一個良好的Git Python接口。
例如,安裝它(pip install gitpython
),用於克隆一個新庫後,您可以使用clone_from功能:注意
from git import Repo
Repo.clone_from(git_url, repo_dir)
: GitPython需要混帳被安裝在系統上,而且您可以通過系統的PATH 。
4
4
我的解決方案是非常簡單和直接的。它甚至不需要手動輸入釋義/密碼。
這裏是我的完整代碼:
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. 克隆git倉庫失敗
- 4. 運行克隆Git倉庫
- 5. 克隆git倉庫的.git目錄
- 6. 克隆私人git倉庫的Dockerfile
- 7. 如何用GitLab克隆git倉庫
- 8. SSH錯誤克隆Git倉庫
- 9. 無法從github克隆git倉庫
- 10. 使團隊克隆git倉庫
- 11. 創建一個git倉庫克隆
- 12. 克隆Git倉庫通過ANT
- 13. 不是一個Git倉庫克隆
- 14. 而克隆一個Git倉庫
- 15. 錯誤:克隆裸git倉庫
- 16. 如何從VM中克隆Git倉庫?
- 17. 使用SSH克隆git倉庫
- 18. 將Git倉庫克隆到iPhone中
- 19. 將克隆的git倉庫轉換成分叉的倉庫
- 20. 從git倉庫克隆並提交到新倉庫
- 21. 如何使用Python和PyGithub/GitPython克隆我的git倉庫?
- 22. 如何從第二個git倉庫中刪除克隆的倉庫倉庫?
- 23. 鬼鬼祟祟地克隆git倉庫的方法?
- 24. 如何從BitBake配方中克隆私人git倉庫?
- 25. 如何克隆一個git流風格的git倉庫?
- 26. Git克隆沒有從git倉庫獲取最新的更改
- 27. 克隆SVN倉庫本地
- 28. 克隆Gosub倉庫manos
- 29. 克隆Git倉庫時,克隆倉庫中的某些文件/目錄是否被刪除?
- 30. 我可以從克隆SVN倉庫我的項目源到Git倉庫
gitpy,我想它會被稱爲 – SilentGhost 2010-03-18 18:58:06
@SilentGhost:你的意思是*此* gitpy? http://github.com/vmalloc/gitpy from http://www.ryaari.com/blog/?p=9 – VonC 2010-03-18 19:01:15
看起來像是GitPython(http://pypi.python.org/pypi/GitPython,http: //gitorious.org/git-python),我不認爲它有一個克隆方法,但我敢打賭你可以添加一個......但是在內部它將不得不調用'git clone'。 – Cascabel 2010-03-18 19:04:07