はじめに
重いリポジトリをそのままcloneしようとすると、時間がかかります。下手すると数時間かかったりして、回線が貧弱だとタイムアウトしてしまったりします。そうなると、最初からやり直し・・・
とりあえず、最新のコミットさえあればよくて、それ以前のコミットは不要ということであれば、shallow clone をすればよいです。過去のコミットはダウンロードしないので、その分、通信量が少なくなります。
SourceTreeだとGUIでできるので、その手順を忘れないうちに残します。
SourceTreeで最新のコミットだけcloneする
SourceTreeを起動し、いつも通り Clone の画面を開き、リモートリポジトリのURLやローカルフォルダを指定します。
詳細オプション
をクリックすると、 クローンの深さ
という項目が出てくるので、 1
を入力します。
クローン
ボタンをクリックすれば、 shallow clone が始まります。
仕組み
上記の操作は、Gitコマンドで言うと、
git clone --depth 1 (リモートリポジトリのURL)
に相当します。 クローンの深さ
は、 --depth
に対応しています。
ここの数値を 10
にすれば、最新の10個のコミットを取得できます。
さいごに
これでタイムアウト地獄から解放されました!
以下の記事を参考にさせていただきました。ありがとうございます。