コンテンツにスキップ
GitTree
変更とコミット

ファイル、ハンク、および選択された行をステージングする

コミットには、ステージングした内容のみが含まれます。 GitTree では、ファイル全体、ファイルの 1 つの部分、または差分で選択した行だけをステージングし、残りの編集内容は後でコミットするために作業フォルダーに残ります。

無料更新されました

GitTree で動作します 無料: サインインすると、すべてのローカル Git 機能が利用できます。

このページでは
  1. 始める前に
  2. どこで見つけられますか
  3. ステップ
  4. 期待される結果
  5. ステージングコントロール
  6. 全体的に段階的に行われる変更
  7. 何か問題が発生した場合
  8. 質問
  9. 関連している

始める前に

  • リポジトリは開いており、変更があります。グラフの上部の // WIP 行で変更がカウントされます。
  • ステージングは​​次のコミットを準備するだけです。 It changes nothing in your files and nothing on the remote.

どこで見つけられますか

  • Working Changes パネル: グラフの上部にある // WIP 行、または commit の詳細の上にある青いバーの View Changes を選択します。
  • ファイルの差分: Unstaged Files または Staged Files でファイルを選択します。中央にハンクとラインのコントロールが開きます。
  • Stage File、Unstage File、および Discard Changes to File… のファイル行にカーソルを置きます。
アクションmacOSWindowsとLinux
Stage 選択したファイル(ファイルリスト内)SS
Unstage 選択したファイル(ファイルリスト内)UU
差分の次の変更F7F7
差分の以前の変更⇧F7Shift+F7
Commit⌘EnterCtrl+Enter

ステップ

  1. 作業上の変更を開く

    グラフの上部にある // WIP 行を選択します。 Working Changes パネルには、Unstaged Files と Staged Files がそれぞれカウントとともにリストされ、その下にコミット フォームが表示されます。

    「作業変更」パネル: 4 つのステージングされていないファイル、1 つのステージングされたファイル、およびコミットフォーム
    1 は // WIP 行です。 2 変更したがステージングされていないファイル。 3 ファイルは次のコミットに向けてすでにステージングされています。GitTree はデモ リポジトリとのインターフェイスです。
  2. ファイル全体をステージングする

    ファイルにカーソルを合わせて Stage File を選択するか、1 つ以上のファイルを選択して S を押します。Stage All Changes はすべてのファイルを一度にステージングします。ステージングされたファイルは Staged Files に移動します。 Unstage File (または U) は 1 つ戻ります。

  3. 1 つのハンク、または選択したラインのみをステージングします

    ファイルを選択してその差分を開きます。変更の各ブロック (ハンク) には Stage Hunk があります。段階を減らすには、変更したい行の横にあるボックスにチェックを入れて (Shift キーを押しながらクリックして範囲を選択します)、選択された行数を示すバーで Stage Lines を選択します。

    アニメーション: WIP 行で変更が開き、ファイルの差分が開き、変更された 2 行にチェックが入って、Stage Lines が選択されます
    InviteDialog.tsx の 2 行が選択されてステージングされます。ファイルの残りの部分はステージングされないままになります。GitTree はデモ リポジトリとのインターフェイスです。
  4. 何がコミットされるかを確認する

    Staged Files の下のファイルを選択します。差分にはステージングした内容のみが表示され、その一部を戻すための Unstage Hunk と Unstage Lines が表示されます。コミット ボタンには、コミットするファイルの数を指定します。

期待される結果

ファイルは両方のリストに表示されます。ステージングした行は Staged Files の下に、残りは Unstaged Files の下にあります。ディスク上のファイルにはすべての編集内容が保持されています。

コミットすると、ステージングされた部分のみがコミットに入ります。続行するには、コミットを書いて作成してください。

ステージングコントロール

各ステージング アクションの場所
コントロールどこ何をするのか
Stage All ChangesUnstaged Files以上新しいファイルも含め、変更されたすべてのファイルをステージングします。
Stage File / Unstage Fileファイルの行(ホバー)、またはリスト内の S および Uファイル全体をリスト間で移動します。
Stage Hunk / Unstage Hunkdiff の各ハンクの上ラインのブロックをステージングまたはステージング解除します。
Stage Lines / Unstage Lines行を選択すると表示されるバー内選択した行のみをステージングまたはステージング解除します。 Clear は選択範囲を削除します。
Stage Changes to Commit何もステージングされていないときのコミットボタン最初にすべての変更をステージングしてから、コミットできるようにします。

全体的に段階的に行われる変更

一部の変更には選択する行がないため、GitTree はファイル レベルのアクションのみを提供します。つまり、バイナリ ファイル、名前変更とコピー、Git LFS ポインター、サブモジュールの変更、ファイル モードの変更 (コンテンツと一緒にステージング) です。

差分内の空白を非表示にし、ファイルに空白のみの変更がある場合、行を選択できません。最初に Show Whitespace を選択するか、ファイル全体をステージングしてください。

何か問題が発生した場合

コミットボタンには「Stage Changes to Commit」と表示されます

まだ何も上演されていません。必要なファイル、ハンク、または行をステージングするか、ボタンを選択してコミットする前にすべてをステージングします。

「表示されてから差分が変わりました」

差分が表示された後、ファイルがディスク上で変更された (編集者がファイルを保存した) ため、GitTree は一致しなくなった選択をステージングすることを拒否しました。更新された diff を見て、もう一度行を選択します。

間違って行を破棄してしまいました

Discard Lines と Discard Hunk は最初に回復スナップショットを保存します。ツールバーで Undo (Mac の場合は Ctrl+Z、⌘Z) を選択して元に戻します (元に戻すとやり直し)。

質問

これは git add -p と同じですか?

これも同じ仕事をします。ファイルの一部をインデックスに追加します。プロンプトに塊ごとに答える代わりに、差分全体を確認して必要な行にチェックを入れます。

選択した線は互いに隣り合う必要がありますか?

いいえ。ファイル内の変更された行を 1 つまたは複数の行にチェックマークを付けて、まとめてステージングします。