1. 程式人生 > >Git如何Check Out出指定檔案或者資料夾

Git如何Check Out出指定檔案或者資料夾

在進行專案開發的時候,有時候會有這樣的需求那就是:我們只希望從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 <url>

上面的程式碼會幫助你建立一個空的本地倉庫,同時將遠端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
  2. $echo “apps/register.go” >> .git/info/sparse-checkout
  3. $echo “resource/css” >> .git/info/sparse-checkout

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

  1. $git pull origin master

原文出處:http://www.tuicool.com/articles/QjEvQvr