リポジトリ
ミッションコントロール は「開いているリポジトリのどれが自分を 必要としているか」に答えます。知っているのはアクティブなワークスペースのタブだけです。 リポジトリは別の問いに答えます。そのリポジトリはどこにあり、そもそもどこかで開いて いるのか。 Gitcito が見たことのあるすべてを対象にします。すべてのワークスペース、 すべてのタブ、それに、指し示したフォルダをスキャンして見つかったもの。

セクション
リポジトリは 複数のセクション に出ることがあります。意図的です。各セクションは 自分の問いに対する完全な答えであり、1 本の一覧の切れ端ではありません。
| セクション | 入っているもの |
|---|---|
| 開いているリポジトリ | 今、アクティブなワークスペースにあるすべてのタブ |
| お気に入り | スター付きのリポジトリ。すべてのワークスペースを横断 |
| 最近 | 開いたものすべて、新しい順。ランチャーの 8 件リストと違い 上限なし |
| 保存済みワークスペースごとに 1 つ | そのワークスペースのタブ。先に切り替えなくても飛び込める |
| すべてのリポジトリ | レジストリが知っているすべてのリポジトリ。開いていなくても |
一覧の上のツールバーは 1 本の帯です。すべて折りたたむ と すべて展開、 そのあと残りの幅を取る検索欄、それから WIP 概要の切り替え。
検索はすべてのセクションの行を一度に絞り、何もヒットしないセクションは隠します。 空の見出しの列の下に結果が埋まらないようにするためです。リポジトリの名前、エイリアス、 オーナー、パスの一部が対象です。どこにも一致しないときは、真っ白になる代わりに そう書きます。
欄が空なら、中身がなくてもすべてのセクションを出します。「お気に入り 0」は、 そのセクションが存在して空だということを教えてくれます。知っておく価値があります。 それがノイズになるのは、すでに検索しているときだけです。
セクションの色
セクションは 最初から色が付いて 来ます。各見出しは標準パレットから自分の ティントを受け取り、新しいワークスペースも現れた瞬間に含まれます。目的は装飾ではなく 見当をつけることです。プロジェクトごとにワークスペースのセクションがあり、その上に 組み込みが 5 つあると、スクロールした一覧は自分がどこにいるかを語らなくなります。 ティントがあれば、読む前に見出しが分かります。
変えるには、見出しの ⋮ を使います。色を変更… は、グループタブやフォルダと 同じ カラーピッカー を開きます。プリセット 10 色に、自由な hex 値。色をリセット は、セクションを上書きしたあとに現れ、割り当てられた既定に 戻します。
知っておくとよいことが 3 つあります。
- 割り当ては 安定していて、ランダムではありません。同じセクションは起動のたびに 同じ色になり、ワークスペースを足しても上のセクションは塗り直されません。保存される のは、あなたが変えた色だけです。
- 色は このページ限り です。ここでワークスペースのセクションに色を付けても、 Gitcito の他の場所でのそのワークスペースには何も言いません。タブの色は別の設定です。
- 色は満額ではなく、面の低い割合に 混ぜ下げられます。飽和した選択でも、ライトと ダークの両方で読める背景のままです。とても薄い色は、ほとんど中立に見えます。
セクションが 10 を超えるとパレットは繰り返すので、2 つの見出しが同じティントを 共有することがあります。
リポジトリが「知られている」条件
ここに行があるのは、Gitcito がどこかで 開いた か、スキャンフォルダ の下で 見つけたときです。ディスクのどこかに存在するだけでは索引されません。Gitcito に 教えたことのない場所は対象外です。
このページを開くと、いま タブで開いているもの も索引されます。起動時に復元された リポジトリが、開き直さなくても行を得るのはこのためです。対象は開いているタブだけで、 各セッションの初回訪問で起きます。一度きりではありません。Forget したリポジトリは、 もう一度開かない限り忘れたままです。
スキャンフォルダは設定で決めます。
- 深さ は、ルートから何階層下まで降りるかです(既定 3、上限 10)。
- スキャンは リポジトリで止まります。同梱のチェックアウトや、リポジトリ内の サブモジュールは、独自の行としては索引されません。
- ドットで始まるディレクトリには入りません。
node_modulesや同種の依存フォルダも 飛ばします。 - 読むのはフォルダ名だけ です。
.gitディレクトリを見つけることが、ここで リポジトリにする条件です。名前、オーナー、ブランチは.git内のファイル (HEAD、config) から取ります。gitを走らせることはありません。
行
行は列で並びます。スター、名前(改名していればエイリアスを尊重)、オーナー (origin リモートの URL から)、ブランチチップ、WIP 概要、操作。列は ページ全体で 共有 され、セクションごとに幅を取りません。最後のセクションの名前が最初の下に 揃い、一覧は積み重ねではなく表として読めます。
末尾の操作は、ホバーで出すのではなく、常に見えています。タブで開く と、 右クリックと同じ リポジトリのコンテキストメニュー を開く ⋮。 Gitcito の他の場所と同じメニューに、このページ専用の 2 項目が足されています。
| 操作 | すること |
|---|---|
| スター / スター解除 | お気に入りに追加、または外す |
| Locate… | 移動や改名したフォルダを指し直す。エイリアス、プロファイル、スターはそのまま。行き先にすでに設定があれば 行き先が勝つ |
| Forget | この一覧から項目を外す。ディスク上のフォルダには触れない |
フォルダがなくなったリポジトリは 見つかりません と出ます。いつもの行操作の代わりに、 インラインの Locate… と Forget です。
スターはお気に入りの切り替えであり、一括選択のチェックではありません。ここでの一括作業は 選択単位ではなく、セクション単位です。下を見てください。
フォルダツリーをワークスペースにする
コード用フォルダは、欲しいグループ分けをすでに持っています。~/Code に client-a、
client-b、personal があれば、それが切り替えたい文脈であり、ワークスペース
はまさにそれで、自分のタブ帯を持ちます。
スキャンフォルダを追加… は、それを作る提案をします。スキャンが索引したあと、 選んだフォルダの 直下 にあるフォルダと、それぞれが持つリポジトリ数がダイアログに 並びます。欲しいものにチェックを入れます。それぞれが リポジトリ 1 つにつきタブ 1 つ のワークスペースになります。
| 行 | 意味 |
|---|---|
| フォルダ名と件数 | 既定でチェック。ワークスペースになる |
| "{n} 件の新規、… にマージ" | このフォルダ用のワークスペースはすでにある。新しいリポジトリだけが足される |
| "すでにワークスペースにあります" | することはない。隠さず灰色表示 |
| ルート自身の名前 | 選んだフォルダに直置きのリポジトリ。サブフォルダではない。既定はオフ |
リポジトリは、どれだけ深くても ルート直下の最初のフォルダ に入ります。
~/Code/client-a/nested/app は client-a 行きです。リポジトリのないフォルダは
出てきません。
確定するまで何も作られません。 キャンセルしてもスキャンの索引はそのままです。 リポジトリはどちらにせよ知られます。このボタンが以前からしていたことです。
あとからもう一度スキャンする
繰り返しても安全です。2 回目のスキャンは 足すだけで、決して消しません。
- 新しいリポジトリは、対応するワークスペースに足されます。
- 手で動かした、改名した、外したリポジトリは、置いたままです。
- 改名した ワークスペースも認識されます。Gitcito は元のフォルダを覚えているので、 複製を作らずマージします。
- ディスクから消したリポジトリはタブを残し、見つからないと出ます。
生成されたワークスペースは普通のものです。改名、並べ替え、塗り直し、削除は他と同じです。 特別なまま残るものはありません。
開いているものを全部閉じる
開いているリポジトリ の見出しには閉じるボタンがあります。1 つ開いているときは リポジトリを閉じる、複数のときは すべてのタブを閉じる。何も開いていなければ 無効です。
リポジトリを持つタブを閉じ、ページタブには手を出しません。立っている リポジトリページが自分で閉じないためです。ディスクには触れません。コミットも stash も破棄もしません。タブはただのビューです。
複数を閉じるときは先に確認し、件数を言います。1 つだけなら聞きません。安い失敗で、 閉じたタブを開き直すいつものショートカットで戻せます。閉じたタブは、1 件閉じと 同じ深さ 10 のスタックに入り、帯に並んでいた順で戻ります。一度に 10 を超えると、 全部は戻せません。
セクション全体の fetch と pull
各セクション見出しには fetch ボタンと、分割された pull ボタンがあります。 そのセクションのすべてのリポジトリに働き、フォルダが 見つからない ものは飛ばします。 リポジトリが開いている必要はありません。このセッションで一度も開いていない リポジトリのセクションでも同じです。
どちらも 直列 で走り、並列ではありません。40 個のセクションが 40 個の git プロセスを一度に立ち上げないためです。ステータスバーは、今どのリポジトリを処理していて 何件目かを示し、一括はリポジトリごとではなく 1 つの トーストで終わります。 いくつか失敗すれば、成功と失敗の件数を言います。最初の失敗で止まりません。
pull 横のキャレットは、pull の意味を選びます。
| モード | すること |
|---|---|
| Pull(可能なら fast-forward) | Git の既定。できるときは fast-forward、できなければ merge |
| Pull(fast-forward のみ) | マージコミットを作る代わりに拒否する |
| Pull(rebase) | ローカルコミットを上流の上に載せ直す |
この選択は セクションごとではなく、グローバルな 1 つの好み です。自分がどう pull するかを表し、1 つのセクションのキャレットから変えると、どこでも変わります。 複数リポジトリ の pull はすべてこれに従います。ここのセクションボタン、 グループタブ の fetch/pull、ミッションコントロール の一括 pull。ツールバーからの 単一 リポジトリの pull は対象外です。あのメニューは すでに、どの種類の pull かを聞いてくるからです。
アクションバー
フォルダを開く…、クローン…、スキャンフォルダを追加…。Gitcito の レジストリにリポジトリを入れる 3 つの道です。すでにそこにあるものを探す、同じ ページから。
WIP 概要
任意のチェックです。オンなら、展開された 各行が本物の git status を走らせ、
未コミットの作業と同期状態を出します。オフなら、行のコストは .git 内のファイルを
読むことだけです。
任意なのは意図的です。概要はリポジトリあたりおおよそ 5 個の git プロセスで、 8 件ずつまとめて、大きなレジストリが UI を止めないようにします。オンにするのは 「今見えているものを全部見る」という意思であり、常時のコストではありません。
限界
- このページのものはタイマーでは更新されません。 今の状態を見るには、ページを 開き直すか、WIP 概要をオフにしてからオンにします。
- WIP 概要は展開されたセクションだけです。 折りたたんだセクションは、チェックの 有無にかかわらず状態を出しません。
- リポジトリが知られるのは、開いたときか、それを含むフォルダをスキャンしたとき だけです。 ここからファイルシステムを探す方法はありません。
- ワークスペースの構築は、一手では戻せません。 ダイアログをキャンセルすれば 何も作られません。確定したあとに後悔した計画は、ワークスペースを手で消して ほどきます。
- 深さは 1 段階だけです。 最初の階層より下のフォルダは、ワークスペースのタブ帯に
平坦化されます。
client-a/nested/appはclient-aのタブになり、中のフォルダには なりません。 - 設定の「今すぐスキャン」はこれを出しません。 設定済みのルートを一度に再スキャン します。フォルダごとのダイアログは意味がなく、索引だけです。
- すべて閉じるは、タブを 1 つずつ、最大 10 まで戻します。 一度に 10 を超える リポジトリを閉じると、古いものはスタックから戻せません。ただしすべて 最近 に 残っています。
- pull は遅れているものでは絞りません。 セクション内のすべてに pull します。 どれが遅れているかを知るには、先に fetch が要るからです。最新のリポジトリへの pull は no-op です。かかるのは時間であり、安全性ではありません。
- セクションの fetch や pull は、元に戻すスタックからは戻せません。 fetch は すでに持っていたものを変えません。merge や rebase をする pull は、ここからではなく、 そのリポジトリ自身の履歴から、リポジトリごとに戻します。
- セクションの色は見た目だけです。 どこでも絞り込み、並べ替え、グループ化、同期は しません。ワークスペースのセクションに付けた色は、そのワークスペースの色では ありません。
- Forget は一覧から項目を外すだけで、ディスクからは外しません。 フォルダがまだ あれば、同じルートをスキャンする(またはもう一度開く)と、すぐ戻ってきます。
関連項目: ミッションコントロール · ワークスペース、タブ、グループ