2012-11-14 469 views
2

我是新來的git和github(我之前使用過Subversion)。我找不到解決方案,只能從我的私有存儲庫將主分支導出到我的生產服務器。從私人github存儲庫部署

我需要準備一個自動化解決方案(稱爲通過結構)。我發現,Git有存檔的命令,但是這並不github上工作(我設置SSH密鑰):

[email protected]:~/sandbox$ git archive --format=tar [email protected]:someuser/somerepository.git master 
Invalid command: 'git-upload-archive 'someuser/somerepository.git'' 
    You appear to be using ssh to clone a git:// URL. 
    Make sure your core.gitProxy config option and the 
    GIT_PROXY_COMMAND environment variable are NOT set. 
fatal: The remote end hung up unexpectedly 

所以我需要一個另一種方式如何做到這一點。我不想在導出中使用git的任何元文件。當我做克隆時,我會將所有這些文件放在.git目錄中(我不想要的),並且這會下載比我真正需要的更多數據。

有沒有辦法如何通過SSH做到這一點?或者我必須僅通過HTTPS下載zip文件?

回答

2

我不確定我完全理解你的問題。

我使用這個命令來拉動當前主版本到我的服務器:

curl -sL --user "user:pass" https://github.com/<organisation>/<repository>/archive/master.zip > master.zip 

這是否幫助?

+0

是,類似的東西。我認爲我也可以通過SSH獲得它,但可能不是。我發現這些步驟(https://help.github.com/articles/downloading-files-from-the-command-line)與令牌,而不是密碼,但這是行不通的。 – Bruce

+0

我以前也試過這個教程,它對我也不起作用... :)如果答案有幫助,歡迎來到V;) – SimonW

+0

有沒有人使用ssh找到git歸檔的解決方案?我也面臨同樣的問題。 – Nandha

0

正如我在SO answer on downloading GitHub archives from a private repo解釋,創造了GitHub access token後,您可以使用wgetcurl以獲得所需的回購<version>(例如masterHEAD,提交SHA-1,...)。

解決方案與wget

wget --output-document=<version>.tar.gz \ 
    https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> 

解決方案與curl

curl -L https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> \ 
    > <version>.tar.gz 
相關問題