Я выборочно фиксирую части большого файла, и я хотел бы видеть больше контекста вокруг каждого фрагмента. Это возможно?
Я выборочно фиксирую части большого файла, и я хотел бы видеть больше контекста вокруг каждого фрагмента. Это возможно?
Ответы:
Короткий ответ: нет.
git diffесть -U<n>опция, которая позволяет вам настроить количество линий, отображаемых вокруг изменения. Например, git diff -U5 ...покажет 5 строк контекста. Насколько я могу судить, такой опции для отображения различий в интерактивном режиме нет.
git diff -U<n>используется с обеих сторон каждой измененной строки. Итак, если вы изменили одну строку, git diff -U5вы увидите 11 строк (при условии, что одна строка не находится в начале конца файла.)
git diffне для git add --patchилиgit add --interactive
Подтверждаю, что в 2019 году это все еще невозможно.
Внешний инструмент, например, jjlee/git-meld-indexможет помочь:
git-meld-indexработаетmeld- или любой другой мерзавец difftool (kdiff3,diffuseи т.д.) - чтобы в интерактивном режиме изменения сцены к индексу мерзавца (также известный как плацдарма мерзавца).
Это похоже на функциональность git add -p, и git add --interactive.
В некоторых случаях объединение проще / быстрее в использовании, чем
git add -pв таких инструментах, какgit gui.
Это потому, что meld позволяет, например,:
- увидеть больше контекста ,
- см. внутристрочные различия
- редактировать вручную и видеть «живые» обновления различий (обновляются после каждого нажатия клавиши)
- переходить к изменению, не говоря "
n" для каждого изменения, которое вы хотите пропустить
-U<infinity>возможность показать весь файл? (Или большое число «достаточно хорошо»?)