同期と複数リポジトリ

リポジトリ

ミッションコントロール は「開いているリポジトリのどれが自分を 必要としているか」に答えます。知っているのはアクティブなワークスペースのタブだけです。 リポジトリは別の問いに答えます。そのリポジトリはどこにあり、そもそもどこかで開いて いるのか。 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 は一覧から項目を外すだけで、ディスクからは外しません。 フォルダがまだ あれば、同じルートをスキャンする(またはもう一度開く)と、すぐ戻ってきます。

関連項目: ミッションコントロール · ワークスペース、タブ、グループ

この翻訳を GitHub で改善