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

StackOverflow https://stackoverflow.com/questions/1974373

  •  21-09-2019
  •  | 
  •  

Вопрос

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

gitk file.txt

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

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

Это было полезно?

Решение

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

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

выведет то, что вы хотите.

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

Другие советы

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

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

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

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

Попробуйте отключить опцию "ограничить различия в перечисленных путей" в настройки меню (или добавление "набор limitdiffs 0" в ваш ~/.гифок).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top