Gitはリポジトリの情報をすべてローカルに持ってくるのでサイズが大きくなりがちです。その結果、clone処理が遅くなってイライラさせられることでしょう。さらに他のリポジトリと関連付いていて、そのデータまで持ってくると遅さが際立ちます。 そこで使ってみたいのがgit-fastcloneです。git-fastcloneはclone処理を高速化するソフトウェアで、特にrecursiveに対して効果を発揮します。

git-fastcloneの使い方

インストールはRubygemsで行います。

gem install git-fastclone

後はcloneの代わりにfastcloneを使うだけです。

git fastclone https://github.com/timekit-io/booking-js.git

例えば上記のリポジトリで実行しても、実は早くなりません。早くなるための条件があります。それは recursive を使っていて、よく使うリポジトリを使っている場合です。

つまりgit-fastcloneではテンポラリのディレクトリ(/var/tmp/git-fastclone/reference)にリポジトリをコピーします(関連リポジトリも別々に)。その結果、同じリポジトリをcloneする場合はローカルのものを使うようになるので高速化されるという仕組みです。

常にgit-fastcloneを使うようにしておくことで、日々感じているストレスから解放されるのではないでしょうか。

git-fastcloneはRuby製、Apache License 2.0のオープンソース・ソフトウェアです。

square/git-fastclone