スナップショットを指定してファイルの差分を作成し、ワーキングディレクトリーのファイルに差分を適用する
ユーザーが指定した「スナップショット」のファイルと、「ワーキングディレクトリー」のファイルの差分を作成し、「ワーキングディレクトリー」のファイルに差分を適用します。ここでは例として、「HEAD」と「ワーキングディレクトリー」にある「test.txt」ファイルの差分を作成し、差分の適用を行います。
1.ファイルの中身
「HEAD」の「test.txt」ファイルの中身は、以下のようになっています。「ワーキングディレクトリー」及び「ステージングエリア」の「test.txt」ファイルの中身は、以下のようになっています。
2.コマンドの実行
「端末」から、以下のコマンドを実行します。コマンドの詳細は、「ファイルの差分を作成し、ワーキングディレクトリーのファイルに差分を適用するコマンドの説明」を参考にしてください。
git checkout -p HEAD test.txt
3.コマンドの実行結果
指定されたスナップショットから取得したファイルと、「ワーキングディレクトリー」にあるファイルの差分が作成され、その差分が表示されます。「-」は、「スナップショット」のファイルに存在するが、「ワーキングディレクトリー」のファイルに存在しない行を表しています。
「+」は、「スナップショット」のファイルに存在していないが、「ワーキングディレクトリー」のファイルに存在している行を表しています。
この差分をどう適用するのか選択肢が表示されるので、該当する選択肢に対応したキーを入力します。
差分の適用に関する選択肢
差分の適用に関する選択肢です。選択肢 (キー) |
内容 |
---|---|
y | 現在表示している差分を適用し、次の差分を表示する |
n | 現在表示している差分を適用せず、次の差分を表示する |
q | 現在表示している差分を適用せず、残りの全ての差分も適用しない |
a | 現在表示している差分を適用し、残りの差分も適用する |
d | 現在表示している差分を適用せず、残りの差分も適用しない |
表示する差分の移動や検索に関する選択肢
表示する差分の移動や検索に関する選択肢です。選択肢 (キー) |
内容 |
---|---|
g | 差分の一覧を表示し、表示する差分を選択する |
/ | 差分を正規表現で検索し、該当する差分を表示する |
j | まだ適用を行っていない次の差分を表示する |
J | 次の差分を表示する |
k | まだ適用を行っていない前の差分を表示する |
K | 前の差分を表示する |
差分の分割や編集に関する選択肢
差分の分割や編集に関する選択肢です。選択肢 (キー) |
内容 |
---|---|
s | 表示している差分を分割して、異なる差分として扱う |
e | 表示している差分を編集する |
選択肢のヘルプ
選択肢のヘルプを表示します。選択肢 (キー) |
内容 |
---|---|
? | 選択肢のヘルプを表示する |
ステージングエリアにあるファイルとワーキングディレクトリー内にあるファイルの中身が一致していない場合
「ステージングエリア」にあるファイルと「ワーキングディレクトリー」内にあるファイルの中身が一致していない場合、以下のようにエラーが表示されます。「ステージングエリア」にあるファイルに差分が適用できない、と表示されています。
この場合、「ワーキングディレクトリー」内にあるファイルにのみ差分を適用することができます。
以下のように「y」を入力し「エンター」キーを押せば、「ワーキングディレクトリー」内にあるファイルにのみ差分を適用します。
以下のように、差分が適用されます。
必要に応じてコミットしてください。