Мне типично нравится вводить сообщения git commit, глядя на git diff.В реальном времени git diff
Я очень люблю выход произведенный this little perl add-on to git, и производит вывод, который выглядит следующим из git diff
(это скриншот git log -p
но вы получите идею:
Из-за того, как он выдвигает на первый план из-за соответствующих частей линий, которые изменились, очень легко увидеть, что изменилось. Просто хотел поделиться этим, потому что это не похоже на то, что многие люди его используют, и для меня это превосходит использование внешнего отдельного diff или что-то в этом роде, потому что это работает над терминалом! Кроме того, это довольно простое подключение к UNIX-трубам, в общем, чем что-то вроде vimdiff
, хотя vimdiff
также очень удобно.
В любом случае, show-and-tell касается только касательного к реальному вопросу здесь, то есть я могу настроить окно терминала, где у меня есть представление git diff, но чтобы оно было динамическим, так что когда я сохраняю файл, он может обновить git diff
для меня? В принципе, идея состоит в том, чтобы иметь окно терминала в качестве отображения в реальном времени точных изменений, которые я собираюсь совершить, и таким образом я могу просто переключиться прямо из текстового редактора, введя команду git commit
при чтении всего набора изменений , и чтобы этот рабочий процесс также был возможен на машине Linux поверх SSH.
Это был бы действительно потрясающий рабочий процесс, и я думаю, что немного cmdline fu может получить меня там, но я не совсем уверен, с чего начать. Похоже, OS X и Linux потребуют отдельных реализаций. Я нашел fswatch, который может работать для меня, и, по-видимому, похож на inotify-watch на Linux. Мне не нужно было устанавливать это больше, чем только мою машину OS X dev, но, как я уже упоминал ранее, такая возможность над SSH была бы эпической.
Есть ли какие-нибудь другие быстрые и грязные подходы UNIXy к этой проблеме?
В Emacs с 'vc-dir' вы можете нажать' g' в окне diff, чтобы обновить его содержимое. – choroba
Это хорошо, но я больше из пользователя vim; плюс, требование ввода для обновления не является удовлетворительным. Я хочу что-то, что либо опросит (плохо, но просто), либо будет уведомлено о обновлениях файловой системы. –