Git 轉殖部分檔案

2022-05-15 16:33:12 字數 1351 閱讀 3681

在進行專案開發的時候,有時候會有這樣的需求那就是:我們只希望從git倉庫裡取指定的檔案或者資料夾出來。在svn裡面,這非常容易實現,因為svn基於檔案方式儲存,而git卻是基於元資料方式分布式儲存檔案資訊的,它會在每一次clone的時候將所有資訊都取回到本地,即相當於在你的機器上生成乙個轉殖版的版本庫。因此在git1.7.0以前,這無法實現,但是幸運的是在git1.7.0以後加入了sparse checkout模式,這使得check out指定檔案或者資料夾成為可能。

具體實現如下:

1 $mkdir

project_folder

2$cd project_folder

3$git init

4 $git remote add -f origin

上面的**會幫助你建立乙個空的本地倉庫,同時將遠端git server url加入到git config檔案中。 

接下來,我們在config中允許使用sparse checkout模式:

1 $git config core.sparsecheckout true

接下來你需要告訴git哪些檔案或者資料夾是你真正想check out的,你可以將它們作為乙個列表儲存在.git/info/sparse-checkout檔案中。 

例如:

1 $echo 「libs」 >> .git/info/sparse-checkout

3 $echo 「resource/css」 >> .git/info/sparse-checkout

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

1 $git pull origin master

具體您可以參考git的sparse checkout文件: 

乙個完整的例子:

1 #目標,獲取https://

github.com/pallets/flask.git開源專案的examples/flaskr檔案見內容做測試

Git轉殖部分檔案

mkdir druid cd druid git init 初始化空倉庫 git remote add f origin 關聯遠端位址 git config core.sparsecheckout true 開啟sparse checkout模式 echo druid doc git info sp...

Git轉殖部分檔案

轉殖部分檔案 轉殖部分檔案 總結一下 乙個完整的例子 在進行專案開發的時候,有時候會有這樣的需求那就是 我們只希望從git倉庫裡取指定的檔案或者資料夾出來。在svn裡面,這非常容易實現,因為svn基於檔案方式儲存,而git卻是基於元資料方式分布式儲存檔案資訊的,它會在每一次clone的時候將所有資訊...

Git轉殖部分檔案

轉殖部分檔案轉殖部分檔案 總結一下 乙個完整的例子 在進行專案開發的時候,有時候會有這樣的需求那就是 我們只希望從git倉庫裡取指定的檔案或者資料夾出來。在svn裡面,這非常容易實現,因為svn基於檔案方式儲存,而git卻是基於元資料方式分布式儲存檔案資訊的,它會在每一次clone的時候將所有資訊都...