Можно ли git-checkout одну строку вместо всего файла?
Если я изменил несколько строк версионного файла, можно ли отменить изменения a line С помощью командной строки?
Как я бы сделал для всего файла с:
git checkout /path/to/file.extension
но делать что-то вроде, скажем
git checkout /path/to/file.extension --line 10
это возможно?
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
y
n
s
иe
опции-хорошее место для начала.Читайте также:
- https://git-scm.com/docs/git-checkout для
--patch
- https://git-scm.com/docs/git-add для интерактивных опций.