簡體   English   中英

在Python中運行Git clone命令

[英]Running Git clone command in Python

我是Python和Git的新手。 我正在編寫一個Python腳本,它需要執行與在Linux服務器上從我的工作區運行下面的git命令所做的相同的操作。 (即/ local / mnt / workspace /)

git clone git://git.xyz.com/platform/manifest.git -b jb_2.5

我嘗試使用Fab庫但是沒有安裝模塊fabric.api所以我無法繼續。 也,

import git
git.Git().clone("git://git.xyz.com/platform/manifest.git") 

沒用。

還有其他解決辦法嗎? 很感激幫助。 謝謝。

你可以定義一個允許你調用git的git函數。 將用戶限制為git命令對於安全目的很重要; 否則要求使用git url並使用其他技術可能會導致數據丟失或其他惡意攻擊。

import subprocess

def git(*args):
    return subprocess.check_call(['git'] + list(args))

# examples
git("status")
git("clone", "git://git.xyz.com/platform/manifest.git", "-b", "jb_2.5")

將它更改為subprocess.check_output允許您查看輸出git打印,而不是確定成功(例如,如果您不在git repo中, git("status")會引發異常)。


附注:看看PIP ,它旨在幫助安裝常見的軟件包。

你可以掏出(通過os.systemsubprocess ),或使用GitPython包。

由於您沒有顯示錯誤超出“不起作用”的內容,因此很難猜出您的問題究竟是什么。

但我猜測問題是import git引發了一個ImportError ,因為你從未安裝過你想要使用的git模塊。

如果是這樣,完全相同的自述文件告訴你如何做git.Git().clone("git://git.xyz.com/platform/manifest.git")也會告訴你如何安裝它。

但最有可能的是,你需要的只是pip install pygit2pip install GitPython東西。 (你可能需要sudo ,你可能需要在使用它之前安裝pip ,等等,但由於我們對你的平台或你的知識水平一無所知,所以沒有辦法准確猜出你需要什么。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM