web-dev-qa-db-ja.com

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

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

私がファイル全体に対して行うのと同じように:

git checkout /path/to/file.extension

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

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

これは可能ですか?

80
LuisVM

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

111
Matt Enright

マットの答えを詳しく説明するには、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

ynsおよびeオプションは、開始するのに適した場所です。

以下も参照してください。

41
Shaun Luttin