Интерактивный git CLI

Единственный случай, в котором мне было удобнее пользоваться графическими оболочками для гита вместо CLI ― это выбор файлов, которые войдут в коммит.

До сегодняшнего дня я думал, что в CLI их можно выбрать только текстовым перечислением:

git commit src/main/scala/Main.scala src/main/resources/index.html

Это очевидно гораздо менее эффективно, чем расставить галочки в Intellij IDEA.

Но оказалось, что в гите уже есть встроенный мощный механизм для интерактивного анализа изменений.

git add -i вызывает интерактивный режим, в котором можно добавлять файлы в коммит u, удалять r, добавлять неотслеживаемые файлы a. Выбор файлов для коммита

Но самое крутое ― это ручное редактирование патчей p или git add -p. Можно добавлять в коммит не все изменения в файле, а только выбранные. Принятие решения по отдельному изменению

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