kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

ワーキングディレクトリーにあるファイルとステージングエリアにあるファイルの差分を作成し、編集した差分をステージングエリアのファイルに適用する

  「ワーキングディレクトリー」にあるファイルと「ステージングエリア」にあるファイルの差分を作成し、ユーザーが編集した差分を「ステージングエリア」にあるファイルに適用します。

  以前紹介した「ワーキングディレクトリーにあるファイルとステージングエリアにあるファイルの差分を作成し、ステージングエリアのファイルに適用する」と同じことができますが、こちらの方法はより直接的です。

  対話的に差分の編集や適用を行いたい場合は、「ワーキングディレクトリーにあるファイルとステージングエリアにあるファイルの差分を作成し、ステージングエリアのファイルに適用する」を参考にしてください。

  差分適用時の注意事項

    差分を適用する際、ユーザーは差分を自分で編集し、より高度な差分を適用することができます。

    しかし差分が適用されるのは、「ステージングエリア」にあるファイルであり、「ワーキングディレクトリー」にあるファイルには差分は適用されません。

    複雑な差分の適用は、「ステージングエリア」にあるファイルと「ワーキングディレクトリー」にあるファイルの相違点が大きくなり、後で混乱の元になりうるため、ユーザーが把握できる範囲内で作業を行ってください。

    例えば差分適用後、「ワーキングディレクトリー」にあるファイルを「ステージングエリア」に追加すると、差分を適用した「ステージングエリア」のファイルは「ワーキングディレクトリー」にあるファイルで上書きされてしまいます。

    結果、適用した差分が失われてしまいます。

コマンドの実行例

  ここでは例として、「master.txt」ファイルに対して、差分の適用作業を行います。

  1.ステージングエリアにあるファイルの中身

    「ステージングエリア」にある「master.txt」ファイルの中身は、以下のようになっています。


  2.ワーキングディレクトリーにあるファイルの中身

    「ワーキングディレクトリー」にある「master.txt」ファイルの中身は、以下のようになっています。


  3.ワーキングディレクトリーの状態

    「ワーキングディレクトリー」の状態を見ると、以下のようになっています。
    「master.txt」ファイルは、編集されたファイルであることが分かります。


    「ワーキングディレクトリー」と「ステージングエリア」にある「master.txt」ファイルの中身が異なっていることが分かります。

  4.コマンドの実行

    コマンドのオプションは、以下のオプションを指定します。

ショートオプション ロングオプション
-e --edit

    「端末」から、以下のコマンドを実行します。
    コマンドの詳細は、「ステージングエリアにファイルを追加するコマンドの説明」を参考にしてください。
    ポイントは、赤字の箇所です。

git add --edit master.txt


  5.差分の表示と編集

    「ワーキングディレクトリー」にあるファイルと「ステージングエリア」にあるファイルの差分が作成され、その差分が表示されます。


    「-」は、「ステージングエリア」のファイルに存在するが、「ワーキングディレクトリー」のファイルに存在しない行を表しています。

    「+」は、「ステージングエリア」のファイルに存在していないが、「ワーキングディレクトリー」のファイルに存在している行を表しています。

    必要に応じて差分を編集します。

    ただし「#」による差分の無効化はできません。
    代わりに行を削除してください。

  6.差分の保存

    差分を編集したら、ファイルを上書き保存します。


    もし差分の適用を中止したい場合は、差分を全て削除し空にしてファイルを保存してください。

    テキストエディターを終了します。

  7.差分の適用

    差分の適用が行われます。
    問題がなければ、特にメッセージは表示されません。


  8.ステージングエリアにあるファイルの中身

    「ステージングエリア」にある「master.txt」ファイルの中身は、以下のようになっています。
    

    差分が適用されています。

  9.ワーキングディレクトリーの状態

    「ワーキングディレクトリー」の状態を見ると、以下のようになっています。
    「ワーキングディレクトリー」にあるファイルと「ステージングエリア」にあるファイルの中身が一致していないため、「ワーキングディレクトリー」にあるファイルは引き続き編集済みになっています。


差分の適用に失敗した場合は

  差分の適用に失敗した場合は、エラーメッセージが表示され、差分の適用は行われません。

  1.差分の編集例

    以下のように、差分を編集します。


  2.差分の適用

    差分を適用すると、以下のようにエラーメッセージが表示されます。
    エラーがある行の行番号も表示されます。


関連コンテンツ
同一カテゴリーの記事
コメント
オプション