https://zhuanlan.zhihu.com/p/310701669
倉庫只有一個的情況下,只想拉取某個目錄文件;其他文件沒用到的會很浪費時間;
關鍵:git的sparse checkout模式
大致步驟:
1,本地新建文件夾或者執行命令
mkdir newproject && cd newproject
點評:建個文件,不需要命令的,win系統,直接新建目錄就行
2,目錄初始化
git init
點評:初始化的時候,是個空倉庫,為空是正常的。
3,設置遠程倉庫地址
git remote add -f origin <origin_url>
點評: 同一項目,不同分支的url是一樣的,后續,再切換分支。按道理,這時候,並沒有拉取文件,但是,運行命令的時候,出現了下面的更新項
要下載更多東西的樣子,好惡心。
項目很大,我知道,我想只拉取某個目錄,結果,還是要加載很久。
出力不討好,運行一半,我就直接停止了命令,命令行此時報錯為
error: Could not fetch origin
4,設置sparse checkout模式,允許克隆子目錄
git config core.sparsecheckout true
5,設置指定拉取的目錄( 是通配符,!是反選;例如 clients/ 表示clients目錄下所有)
echo clients/html >> .git/info/sparse-checkout
點評:上述命令中,可變的部分,只有clients/html。改成項目中,想要拉取的目錄。
6,拉取
git pull origin master
第6步如果遇到 fatal: Couldn't find remote ref master;
表示主線名稱不是master,可以通過分支命令查看git branch -a
git branch -a
remotes/origin/main
根據上面提示,主線名稱是main,則執行
git pull origin main