Git: показать больше контекста при использовании git add -i или git add -e?

Я выборочно передаю части большого файла, и я бы хотел видеть больше контекста вокруг каждого ханка. Возможно ли это?

Ответ 1

Короткий ответ: нет.

git diff имеет параметр -U<n>, который позволяет вам настроить количество строк, отображаемых вокруг изменения. Например, git diff -U5 ... отобразит 5 строк контекста. Насколько я могу судить, такой возможности нет для отображения diff в интерактивном режиме.

Ответ 2

Чтобы подтвердить, это все еще невозможно в 2019 году.

Внешний инструмент, такой как jjlee/git-meld-index, может помочь:

git-meld-index запускает meld - или любой другой git difftool (kdiff3, diffuse и т.д.) - чтобы позволить вам в интерактивном режиме вносить изменения в индекс git (также известный как область подготовки git).

Это похоже на функциональность git add -p и git add --interactive.

В некоторых случаях слияние проще/быстрее в использовании, чем git add -p или функция постановки в таких инструментах, как git gui.
Это потому, что слияние позволяет, например,:

  • увидеть больше контекста,
  • см. различия между строками
  • отредактируйте вручную и увидите "живые" обновления diff (обновляются после каждого нажатия клавиши)
  • перейти к изменению, не произнося "n" для каждого изменения, которое вы хотите пропустить