ファイル全体ではなく1行をgit-checkoutすることは可能ですか?


86

バージョン管理されたファイルの数行を変更した場合、コマンドラインで行の変更を元に戻すことはできますか?

ファイル全体に対して行うのと同じように、次のようにします。

git checkout /path/to/file.extension

しかし、次のようなことをします

git checkout /path/to/file.extension --line 10

これは可能ですか?

回答:


124

を使用git checkout -pして、各ハンクを個別に確認し、チェックアウトするかそのままにするかを決定できます(さらに絞り込みたい場合は、オプションのパス引数も必要です)。


この方法では、線ではなく大きすぎる部分が表示されます... :(
betontalpfa

46

マットの答えを詳しくgit checkout --patch -- <path argument>説明するには、次のオプションを使用してインタラクティブモードを開始します。

y - stage this hunk
n - do not stage this hunk

q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk

s - split the current hunk into smaller hunks
e - manually edit the current hunk

? - print help

y n sおよびeオプションは、開始するには良い場所です。

参照:

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.