ファイル、ハンク、および選択された行をステージングする
コミットには、ステージングした内容のみが含まれます。 GitTree では、ファイル全体、ファイルの 1 つの部分、または差分で選択した行だけをステージングし、残りの編集内容は後でコミットするために作業フォルダーに残ります。
GitTree で動作します 無料: サインインすると、すべてのローカル Git 機能が利用できます。
始める前に
- リポジトリは開いており、変更があります。グラフの上部の
// 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… のファイル行にカーソルを置きます。
| アクション | macOS | WindowsとLinux |
|---|---|---|
| Stage 選択したファイル(ファイルリスト内) | S | S |
| Unstage 選択したファイル(ファイルリスト内) | U | U |
| 差分の次の変更 | F7 | F7 |
| 差分の以前の変更 | ⇧F7 | Shift+F7 |
| Commit | ⌘Enter | Ctrl+Enter |
ステップ
ファイル全体をステージングする
ファイルにカーソルを合わせて Stage File を選択するか、1 つ以上のファイルを選択して S を押します。Stage All Changes はすべてのファイルを一度にステージングします。ステージングされたファイルは Staged Files に移動します。 Unstage File (または U) は 1 つ戻ります。
1 つのハンク、または選択したラインのみをステージングします
ファイルを選択してその差分を開きます。変更の各ブロック (ハンク) には Stage Hunk があります。段階を減らすには、変更したい行の横にあるボックスにチェックを入れて (Shift キーを押しながらクリックして範囲を選択します)、選択された行数を示すバーで Stage Lines を選択します。

InviteDialog.tsxの 2 行が選択されてステージングされます。ファイルの残りの部分はステージングされないままになります。GitTree はデモ リポジトリとのインターフェイスです。何がコミットされるかを確認する
Staged Files の下のファイルを選択します。差分にはステージングした内容のみが表示され、その一部を戻すための Unstage Hunk と Unstage Lines が表示されます。コミット ボタンには、コミットするファイルの数を指定します。
期待される結果
ファイルは両方のリストに表示されます。ステージングした行は Staged Files の下に、残りは Unstaged Files の下にあります。ディスク上のファイルにはすべての編集内容が保持されています。
コミットすると、ステージングされた部分のみがコミットに入ります。続行するには、コミットを書いて作成してください。
ステージングコントロール
| コントロール | どこ | 何をするのか |
|---|---|---|
| Stage All Changes | Unstaged Files以上 | 新しいファイルも含め、変更されたすべてのファイルをステージングします。 |
| Stage File / Unstage File | ファイルの行(ホバー)、またはリスト内の S および U | ファイル全体をリスト間で移動します。 |
| Stage Hunk / Unstage Hunk | diff の各ハンクの上 | ラインのブロックをステージングまたはステージング解除します。 |
| 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 つまたは複数の行にチェックマークを付けて、まとめてステージングします。
