整個倉庫很龐大,只對其中的一個字文件夾感興趣,不想將整個專案倉庫全都克隆下來。
git 儲存檔案的方式和 CVS/SVN 不同,當你 clone 一個 git 倉庫時,你 clone 的是該倉庫全部的數據,而不是僅僅 clone 你目前所需要的幾個文件。
Git 1.7.9.5 之後的版本允許匯出遠端倉庫的單一文件,如
git archive --remote=ssh://host/pathto/repo.git HEAD README.md # 导出 README.md 这个文件
如果你之前已進行過 clone 操作且你需要的文件在提交歷史中,可以使用 git log 指令查到該 commit 的 hash 值然後執行以下指令:
git log
git checkout hash-id path-to-file
特別的,如果你的程式碼是公開項目,也可以這樣操作:
適用於 Coding
wget https://coding.net/u/user/p/project/git/raw/master/README
適用於 GitHub
wget https://raw.githubusercontent.com/user/project/master/README
我的解決方法:以https://github.com/geekhac/to...子目錄為例:
git init todomvc && cd todomvc
git config core.sparsecheckout true //設定允許克隆子目錄
echo '/examples/react/*' >> .git/info/sparse-checkout //設定要複製的倉庫的子目錄路徑
git remote add origin https://github.com/geekhac/to...
git pull origin master
進入你感興趣的資料夾,執行git init初始化这个文件,在clone到你們本地
git init
clone
git 儲存檔案的方式和 CVS/SVN 不同,當你 clone 一個 git 倉庫時,你 clone 的是該倉庫全部的數據,而不是僅僅 clone 你目前所需要的幾個文件。
Git 1.7.9.5 之後的版本允許匯出遠端倉庫的單一文件,如
如果你之前已進行過 clone 操作且你需要的文件在提交歷史中,可以使用
git log
指令查到該 commit 的 hash 值然後執行以下指令:特別的,如果你的程式碼是公開項目,也可以這樣操作:
適用於 Coding
適用於 GitHub
我的解決方法:
以https://github.com/geekhac/to...子目錄為例:
git init todomvc && cd todomvc
git config core.sparsecheckout true //設定允許克隆子目錄
echo '/examples/react/*' >> .git/info/sparse-checkout //設定要複製的倉庫的子目錄路徑
git remote add origin https://github.com/geekhac/to...
git pull origin master
進入你感興趣的資料夾,執行
git init
初始化这个文件,在clone
到你們本地