Список всех коммитов (по всем веткам) для данного файла


97

Этот вопрос тесно связан со списком всех коммитов для конкретного файла, однако он отличается. Я хочу узнать, какие коммиты во всех ветвях изменили данный файл.

Чтобы сделать его более сложным, данный файл может быть или не быть в рабочем дереве.

Ответы:


120

Попробуй это:

git log --all -- path

8
Nb. вам может понадобиться --full-historyопция, в зависимости от того, что именно вы хотите увидеть: см. раздел об упрощении истории в git-log или на страницах gitrevisions.
Якуб Наребски

Определенно правильный ответ, если вы не хотите использовать графический интерфейс.
Мэтт Сеттер

55

Вы можете использовать gitk

gitk --all <path to file> (you need to install gitk)

например

gitk --all -- /home/kit.ho/project/abc.txt


1
Я не знаю, почему мой ответ был отклонен, но ваш ответ не учитывает, что вопрос конкретно требует журнала для всех веток. Вы просто даете ответ, на который OP уже ссылается.
manojlds

2
Я не был противником, но для этого нужна --allили что-то подобное, чтобы пройти больше истории, чем текущая ветка.
wjl

Почему отрицательные голоса? Это прекрасно работает. Оба ответа верны. Один работает для текстовой консоли, другой - для графического интерфейса gitk. Могу ли я отметить оба правильных?
Саураб Нанда,

@ Саураб Нанда: Отметьте тот, который, по вашему мнению, будет вам полезен.
Кит Хо,

@saurabh - Этот ответ был отредактирован. Кит Хо - Упомяните, что вы редактируете. И выглядит так, как будто оба ответа изначально были правильными.
manojlds

49

Командная строка

Я настоятельно рекомендую добавить параметр графика с помощью git log:

git log --graph --all -- <filename>

git log --graph --all - <имя файла>

Gui

Gitk - довольно старый инструмент, который не всегда устанавливается, я рекомендую другой бесплатный инструмент, например SourceTree:

SourceTree


7
Как зарегистрировать файл и показать его график ветвей в SourceTree? Щелкните правой кнопкой мыши файл и выберите «Журнал выбран ...» не показывает историю по всем ветвям.
aleung
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.