Как git diff без ввода всего пути
Я использую оболочку окон github, и я сделаю следующее
git status
см. список измененных файлов и хочу напомнить себе, что изменилось. Мне нужно набрать что-то вроде
git diff Source\FooBar\Pages\FooBar.aspx
Кажется, что нужно набирать много символов. Есть ли более простой рабочий процесс для просмотра различий, которые я не вижу?
Ответы
Ответ 1
git diff -- **/FooBar.aspx
Обычно *
обозначает любую часть имени файла, а **
обозначает любой подпуть. Например. git diff -- **/main/**/*.aspx
будет отличать только файлы aspx
, которые находятся где-то в подкаталоге main
или main
. Это относится к другим командам, которые принимают пути, такие как фиксация и добавление.
Ответ 2
Если вы хотите просмотреть все изменения, вы можете просто использовать git diff
. Однако он не будет перечислять новые файлы.
Чтобы выборочно просматривать изменения, я бы рекомендовал использовать графический интерфейс, например, git gui
или gitk
.
Ответ 3
Я использую Консоль2 для размещения bash.
С этим я могу использовать Ctrl + Click и Drag, чтобы выделить текст, который затем можно скопировать в буфер обмена и вставить в дальнейшие строки команд.
Я использую это для копирования путей к файлам.
Это позволило мне ввести git diff [Ctrl + V] и получить нужную мне командную строку.
Ответ 4
большинство терминалов (например, console2 для окон) имеют автозаполнение.
начните ввод и нажмите tab
обычно git может автоматически заполняться после двух символов. как:
gi tab
di tab
предоставит вам git diff. если ваши папки не называются так же, как это может быть автоматически завершено после одного символа. например, если у вашего корня проекта было три файла:
вы можете просто ввести r
, s
или b
, а затем вкладку для автоматического ввода имени любого из этих имен.
FYI,
auto complete работает для терминалов и команд git, имена файлов и каталогов, имена ветвей и тегов, но, к сожалению, не для идентификаторов commit.