Подтвердить что ты не робот

Как git diff без ввода всего пути

Я использую оболочку окон github, и я сделаю следующее

git status

см. список измененных файлов и хочу напомнить себе, что изменилось. Мне нужно набрать что-то вроде

git diff Source\FooBar\Pages\FooBar.aspx

Кажется, что нужно набирать много символов. Есть ли более простой рабочий процесс для просмотра различий, которые я не вижу?

4b9b3361

Ответ 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.