2012-02-06 105 views

回答

16

如果你去的網頁和查看(查看文件時,在左上角)的「原始」提供的鏈接。你會看到,你可以通過訪問:

https://github.com/username/repository/raw/$changeset_hash/path/to/file 

相反$changeset_hash,你也可以提供一個分支(例如主機)或標記。

您可以使用類似wget的方式檢索原始文件。

由於存儲數據的方式,直接從.git存儲庫訪問單個文件是不可能的(據我所知)。

編輯:當您想要從私人回購中訪問文件時,首先必須在您的賬戶設置中創建具有適當權限的訪問令牌。您可以使用github's API to access the content of a file而不是調用上面的網址。請確保使用custom media types的Accept-header獲取原始數據。這可能是這個樣子:

curl \ 
    -H 'Authorization: token $YOUR_TOKEN' \ 
    -H 'Accept: application/vnd.github.v3.raw' \ 
    -O \ 
    -L 'https://api.github.com/repos/:owner/:repo/contents/:path' 

-O將在本地保存文件的內容具有相同的名稱作爲遠程文件名。爲了便於使用,您可以將其包裝在腳本中。 @Chris_Withers建議編輯一個不錯的python代碼片段,不幸的是,它被拒絕了,因爲答案的變化很大。

+0

'changeset_hash'當然也可以是分支的名稱。 – 2012-02-06 12:18:06

+0

從.git訪問單個文件非常簡單。 git ls-tree分支給出了文件和/或樹的列表。然後git cat-file -p blob-sha打印文件的內容。 – 2012-02-06 12:42:53

+2

我怎樣才能從私人回購? – expert 2014-10-10 20:12:38

-1
git checkout 

如:

git checkout master~2 file1 

git checkout --help求助)

+0

看起來OP想避免克隆整個回購... – 2016-10-05 09:12:36

12

複製的特定文件的從GitHub原鏈路(當你打開在Github上的文件,在右上角就可以了。看到選項以原始模式打開文件,在原始模式下打開並複製URL)

現在在命令行中使用curl命令下載文件。

curl -o filename raw-link-to-file 
相關問題