Просмотр истории git для папки

127

Как я могу просмотреть историю журнала git для всех файлов в папке?

Я нашел несколько сообщений о том, как показать журнал для определенного файла, но не нашел для конкретной папки.

Томас Вервик
источник

Ответы:

181

Вы можете использовать либо, foldernameлибо foldername/*. В любом случае должно работать.

git log -- path/to/folder
git log -- path/to/folder/*

История переименованных файлов не будет отслеживаться этим методом.

knittl
источник
А удаления каталогов под path/to/folder? они появятся?
Заратустра
@ Заратустра: да. Используя первую команду (без *), они обязательно появятся
knittl
3
Также интересно: добавьте -p. В дополнение к идентификаторам коммитов вы получите отличные различия.
user18099
1
Я предполагаю, что это было изменено после 2016 года, поскольку в настоящее время эти две команды будут отображать только журналы фиксации: хеш фиксации, автор, дату и сообщение фиксации - ничего больше.
Юха Унтинен 08
@JuhaUntinen, что еще он должен показать? git logпоказывает только информацию о фиксации. Если вы хотите видеть изменения файлов, установите -pфлажок, как указано в предыдущем комментарии
knittl
59

если вы хотите использовать графический инструмент, например gitk, он работает так же:

gitk -- path/to/folder
OSdave
источник
Я использую sourcetree, и мне это нравится. Интересно, как gitk сравнивается с исходным деревом в аспектах пользовательского интерфейса.
Феру
gitkимеет очень утилитарный интерфейс, но в остальном довольно хорош. Если вам нравится красивый пользовательский интерфейс, вы можете также рассмотреть Merge(WIN / MAC / * NIX) от команды Sublime Text и Fork(WIN / MAC).
ken