GIT 拉取特定的目錄,以及操作點評


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

還是直接用git網頁端的zip下載搞定,但后續的問題是,如果push到指定的文件夾呢?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM