クローン
新しいリポジトリ → クローン、または ⌘K → クローン。URL を貼り付けるか、
GitHub、GitLab、Bitbucket、Azure DevOps にサインインして自分のリポジトリから選び
ます。選んだ プロファイル のトークンはクローンに使われたあと破棄され、
.git/config に書き込まれることはありません。
親フォルダと名前を選ぶと、入力欄の下の行がリポジトリの着地点を正確に示します。すでに 存在するフォルダは、中に混ぜ込むのではなく拒否します。
詳細設定 — クローンを絞り込む
詳細設定 の中身はすべて既定でオフです。触らなければ、ふつうの完全なクローンに なります。ここが効いてくるのは、「完全」が 20 分と数ギガバイトを意味するような リポジトリです。

| 選択肢 | git が何をするか | 代償 |
|---|---|---|
| 部分クローン | --filter=blob:none |
履歴は完全で、ファイルの中身だけがありません。blob は必要になった時点で届くので、古いファイルを開くにはネットワークが要ります。 |
| シャロークローン | --depth=N |
最新の N 個のコミットしか存在しません。blame、log、bisect、range-diff はその切り口で止まります。 |
| 1 つのブランチだけ | --single-branch |
ほかのブランチは、フェッチするまでリモートに残ります。 |
| サブモジュールもクローン | --recurse-submodules |
すべてのサブモジュールもチェックアウトされます。いま時間がかかる代わりに、あとでディレクトリが空という事態になりません。 |
| チェックアウトするブランチ | --branch <name> |
リモートの既定ブランチではなく、指定したブランチから始まります。 |
シャローより先に部分クローンを。 部分クローンはすべてのコミットを保持するので、
履歴は検索できるままで、遅延して取得されるのはファイルの中身だけです。シャロー
クローンは実際に履歴を捨てます。git log は切り口で終わり、blame はその先を見られ
ません。モノレポをクローンして作業するなら、たいてい欲しいのは部分クローンのほうです。
シャローは取り消せます。ターミナル で git fetch --unshallow を
実行すれば履歴が埋め戻されます。
ブランチを選ぶ
ブランチ名を打つか、ブランチを一覧 を押してリモートに何があるかを尋ね
(git ls-remote --heads)、ドロップダウンから選びます。ネットワークへの往復は 1 回
だけで、それもボタンを押したときだけです。入力中に問い合わせが走ることはありません。
一覧の取得に失敗したら — トークンのないプライベート URL、打ち間違い、ネットワーク なし — 入力欄はただのテキストボックスのままで、クローン自体が本当のエラーを報告します。
フラグについて 2 つ
--depthは--single-branchを含みます。 シャロークローンでは、1 つの ブランチだけ のチェックを外すことが、ほかのブランチも取り戻せという要求 (--no-single-branch)になります。だから下のヒントの文言が変わります。- ローカルのフォルダをクローン する場合、git はフェッチせずにオブジェクトストアを
ハードリンクするため、通常は
--depthを完全に無視します。ローカルリポジトリの シャローコピーを求めたとき、Gitcito はfile://URL 経由でクローンするので、 指定した深さがそのまま得られます。
進捗
バーは git が報告するものをそのまま報告します。数える、圧縮する、受け取る、解決する、 チェックアウトする。総数を報告できない段階では、偽のパーセンテージではなく不定の バーを表示します。
新しいリポジトリはタブで開き、クローンに使ったプロファイルに紐づきます。