Можно ли сделать git-checkout одной строкой вместо всего файла? - PullRequest
73 голосов
/ 06 августа 2011

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

Точно так же, как я сделал бы для всего файлас:

git checkout /path/to/file.extension

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

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

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

Ответы [ 2 ]

108 голосов
/ 06 августа 2011

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

39 голосов
/ 26 августа 2016

Чтобы уточнить ответ Мэтта, 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 являются хорошим местом дляНачните.

См. Также:

...