標籤:

如何在github上下載單個文件夾?

比如別人把一些資料傳到github上做分類歸檔,我怎麼才能下載單一分類文件夾?


DownGit

好用記得回來點贊


用 SVN 即可.

舉例說明:
譬如這個項目: Mooophy/Cpp-Primer · GitHub, 我只想看 ch03 文件夾的代碼怎麼辦?
先打開 ch03, 其 URL 為: "https: //github. com/Mooophy/Cpp-Primer/tree/master/ch03"(這裡添加空格, 為了防止知乎智能識別)

/tree/master/ 換成 /trunk/ . (這個以前玩 Google Code 的人應該很熟悉.)
"https: //github. com/Mooophy/Cpp-Primer/trunk/ch03"(同樣有空格)

然後, 輸入:

svn checkout https://github.com/Mooophy/Cpp-Primer/trunk/ch03

PS: 第一次使用的話, 可能會出現下面這個提示:

R)eject, accept (t)emporarily or accept (p)ermanently?

輸入 P 就行了.

玩的愉快!

---------------------------------------

Update:

評論有人問: 請教下, 如果不是master分支 , 我這邊是develop分支 那還有辦法下載某個文件夾嗎?

有辦法的, 只需要將 /trunk/ 換成 /branches/branchname/ 就行了. 對於這位的需求, 就是 /branches/develop/.


剛剛在starkoverflow上找到了一些解決方案,雖然很久了還是回答下吧。

http://kinolien.github.io/gitzip 輸入單個文件夾的路徑,直接Download,不過答題人說不支持超過500個的文件夾下載。

https://github.com/VahidN/GitHubFolderDownloader 這個是windows下的一個工具,因為是mac系統也沒裝虛擬機,所以暫時沒有測試。

starkoverflow該問題所在地址:

git - Download a single folder or directory from a GitHub repo


點擊 Raw ,如果是不能預覽的文件就會自動下載,如果是文件或者代碼什麼的,會在瀏覽器中顯示,但可以複製瀏覽器中鏈接,使用任何一個下載工具,新建下載任務,粘貼地址即可下載單個文件。

親測有效!!!


用chrome插件github Mate就可實現,很方便


@cranehuang 看了這位知友的回答 , 安裝了`Octo Mate` , 圖片中右側的工具欄 , 這個工具可以預覽項目的梗概 , 也就是README.md文件的目錄 , 用`Add this page`按鈕收藏本頁面 , 相當於一個網路收藏夾 , 在滑鼠移動到文件的圖標時候 , 會出現`Click to download` , 如圖所示 :

謝謝這位知友的回答 , 在這裡我再推薦一款插件`Octotree` , 就是第一幅圖中左側的工具欄 , 它相當於一個文件瀏覽器 , 可以看到整個項目的文件目錄 , 在滑鼠移動到相應文件下還會出現下載按鈕 , 也很方便下載文件 , 如圖 :

祝玩得愉快!


今天我也遇到這個問題,一番查找終於找到了一個不用SVN的方法:

Git1.7.0以後加入了Sparse Checkout模式,這使得Check Out指定文件或者文件夾成為可能。

具體實現如下:

$mkdir project_folder
$cd project_folder
$git init
$git remote add -f origin &

上面的代碼會幫助你創建一個空的本地倉庫,同時將遠程Git Server URL加入到Git Config文件中。

接下來,我們在Config中允許使用Sparse Checkout模式:

$git config core.sparsecheckout true

接下來你需要告訴Git哪些文件或者文件夾是你真正想Check Out的,你可以將它們作為一個列表保存在 .git/info/sparse-checkout 文件中。

例如:

$echo 「libs」 &>&> .git/info/sparse-checkout
$echo 「apps/register.go」 &>&> .git/info/sparse-checkout
$echo 「resource/css」 &>&> .git/info/sparse-checkout

最後,你只要以正常方式從你想要的分支中將你的項目拉下來就可以了:

$git pull origin master

具體可參考Git的Sparse checkout文檔: http://schacon.github.io/git/git-read-tree.html#_sparse_checkout



Chrome瀏覽器,安裝插件 GitZip for Github。


git checkout,可以精確到任意分支的任意文件。


用了回答里多個大神的各種方案,發現還是SVN最好用(其他的要不下載不下來要不只能下載單個文件,也可能是因為我網速渣)

Downloads · TortoiseSVN

這是SVN的下載地址,使用方法樓上已經介紹過了。


試了上面大多數的方法,都不行啊,怎麼辦,能不能給小白指條活路啊


以前我也經常遇到這樣的問題

然後我自己用node寫了個命令行工具

hujiulong/dgit

用起來超級簡單

如果沒有node的話必須先安裝node

1.安裝

npm install dgit -g

2.下載react的src目錄

dgit facebook/react/src


點擊raw

wget + 對應文件鏈接


chrome里添加插件 Octo Mate,成功後進入github相關網頁瀏覽器右側回彈出來,點進單個文件 會出現 down按鈕。


為Chrome安裝迅雷下載插件,在需要下載的文件或文件夾處右鍵,可以看到「使用迅雷下載」選項,點擊即可


推薦閱讀:

在 GitHub 上有哪些適合前端初學者學習的開源項目?
怎樣在 GitHub 下收集 Star?
Git 有哪些好用的圖形化客戶端?目前用的最多的是?
機器學習領域有哪些適合新手學習的 GitHub 項目?
女朋友因為我在github上給別的女生star而生氣合適嗎?

TAG:GitHub |