Можно ли git-checkout одну строку вместо всего файла?


Если я изменил несколько строк версионного файла, можно ли отменить изменения a line С помощью командной строки?

Как я бы сделал для всего файла с:

git checkout /path/to/file.extension

но делать что-то вроде, скажем

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

это возможно?

2 69

2 ответа:

можно использовать git checkout -p чтобы увидеть каждый кусок индивидуально и решить, следует ли проверить их или оставить их как есть (и это также требует дополнительного аргумента пути, если вы хотите сузить его дальше).

чтобы уточнить ответ Мэтта,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

The yns и e опции-хорошее место для начала.

Читайте также: