あなたはgit add --patch <filename>
(または-p
略して)使用することができ、gitはあなたのファイルをそれが賢明な「ハンク」(ファイルの一部)であると考えるものに分解し始めます。次に、次の質問が表示されます。
Stage this hunk [y,n,q,a,d,/,j,J,g,s,e,?]?
各オプションの説明は次のとおりです。
- y 次のコミットのためにこのハンクをステージングします
- n 次のコミットのためにこのハンクをステージングしないでください
- q終了する; このハンクまたは残りのハンクをステージングしないでください
- a このハンクとそれ以降のすべてのハンクをステージングします
- d このハンクまたはそれ以降のファイルのハンクをステージングしないでください
- g 移動するハンクを選択
- / 指定された正規表現に一致するハンクを検索します
- j この塊を未決定のままにします。次の未決定の塊を参照してください
- J この塊を未定のままにします。次の塊を参照してください
- k この塊を未決定のままにします。前の未決定の塊を参照してください
- K このハンクを未決定のままにします。前のハンクを参照してください
- s 現在のハンクを小さなハンクに分割する
- e 現在のハンクを手動で編集する
- ? ハンクヘルプの印刷
ファイルがまだリポジトリにない場合は、最初に行うことができますgit add -N <filename>
。その後、に進むことができますgit add -p <filename>
。
その後、以下を使用できます。
git diff --staged
正しい変更をステージングしたことを確認するには
git reset -p
誤って追加されたハンクのステージを解除する
git commit -v
コミットメッセージの編集中にコミットを表示します。
これはgit format-patch
、コミットデータを.patch
ファイルに解析することを目的とするコマンドとはかなり異なることに注意してください。
将来のリファレンス:Gitツール-インタラクティブステージング