只同步取用特定目錄
git sparse -有時候,充滿了妥協。到底是放在一起還是分開放?
Why
在一堆程式中想要拆分他,但又不想另外放一個存儲庫(repository)。
只好單獨抽出某個目錄。
How
舊版的作法
> git init > git config core.sparseCheckout true // (1) > git remote add origin <your/git/url> // (2) > echo "/you/want/folder/path" > .git/info/sparse-checkout // (3) > git fetch --depth 1 origin <branch> // (4) > git checkout <branch> // (5)
-
加入
sparseCheckout
指示 -
指定你的存儲庫
-
加入你要簽出的目錄
-
指定分支並指取的最近的版本(不含歷史)
-
將目錄簽出
新版的作法
> git clone --branch <branchname> <your/git/url> --no-checkout <directory> // (1) > cd <directory> > git sparse-checkout set "/you/want/folder/path" // (2) > git sparse-checkout init --cone // (3)
-
指定分支和存儲庫,但先不簽出
-
設定的同時也簽出檔案
-
如果需要根目錄下的檔案
使用 diff 比對差異
<<
>>
打補丁