Как просмотреть полные коммиты при отслеживании истории одного файла в Git?

git gitk

11132 просмотра

3 ответа

35812 Репутация автора

У меня есть Git-репозиторий с историей около двух лет. У меня есть один файл, для которого я хочу найти все коммиты и для каждого коммита: все остальные файлы, которые были зафиксированы в нем. Давайте предположим, что этот файл называется file.txt. Я могу запустить gitk с этим файлом в качестве аргумента:

gitk file.txt

и я получаю каждый коммит. Тем не менее, просмотр этого дерева в gitk показывает только изменения, сделанные в file.txt. Я хотел бы увидеть, какие другие файлы были изменены в этом коммите. Я могу скопировать и вставить каждый коммит SHA1 и отобразить его, но с этим файлом связано более сотни коммитов.

Я заметил, что раздел «комментарии» в правой нижней части экрана пуст (отображается только текст «Комментарии»). Может быть, список файлов может быть показан там?

Автор: Milan Babuškov Источник Размещён: 29.12.2009 12:21

Ответы (3)


17 плюса

7484 Репутация автора

Решение

В командной строке

git log -p --full-diff file.txt

будет выводить то, что вы хотите.

Если вы должны увидеть его в gitk, вызовите его без аргументов, найдите файл «трогательный путь» для фиксации file.txt, и коммит, содержащий этот файл, будет выделен жирным шрифтом. И вы можете использовать кнопки «вверх» и «вниз», чтобы пройти через него.

Автор: iamamac Размещён: 29.12.2009 12:25

11 плюса

5822 Репутация автора

На самом деле вы можете иметь функцию --full-diff в gitk, но не напрямую из командной строки. Просто сделайте следующее:

  • Запустите Gitk обычным способом, например: gitk file.txt
  • Выберите «View -> Edit view ...» из меню. Убедитесь, что вы редактируете представление «Командная строка».
  • В поле редактирования рядом с «Дополнительные аргументы для git log» введите --full-diff
  • Нажмите «Применить» или нажмите [F5].

Это должно сделать это. Почему gitk не позволяет вам использовать это из командной строки, для меня загадка, поскольку это очень полезная опция.

Автор: ack Размещён: 09.10.2012 04:00

3 плюса

5650 Репутация автора

Другое решение из списка рассылки, датированного еще в 2008 году :

Попробуйте отключить параметр «Ограничить различия в перечисленных путях» в меню настроек (или добавить «установить предельные значения 0» в ~ / .gitk).

Автор: prusswan Размещён: 19.11.2013 07:35
Вопросы из категории :
32x32