15 Sep 2013 18:15:03
Git Show Full File Changed History, Respecting Branch Merges & File Renames
Иногда полезно узнать полную историю по изменениям конкретного файла, но случается так что некоторых изменений может не хватать, что приводит к замешательству и трате времени, здесь указано несколько моментов которые стоит учитывать чтобы получить объективную картинуРаботать будем с консолью
Вот команды с помощью которых можно получить историю изменений
$ git log -p dir/file.txt
$ git whatchanged -p dir/file.txtфлаг -p нужен чтобы показать diff рядом с коммитом
1ая и 2ая команды по умолчанию не показывают коммиты мержей, по сути они не очень-то и полезны или не так часто - но иногда такая необходимость возникает. Поскольку мерж совмещает все коммиты сделанные в мержущихся ветках - достаточно знать изменений самих комитов, если все же нужно посмотреть дифф самого мержа можно воспользоваться флагом -m
так
$ git log -p -m dir/file.txtили так
$ git whatchanged -p -m dir/file.txt
Команда git whatchanged уже показывает полную историю, а вот git log нет, это связано с тем что если просматриваемый файл менялся бинарно - т.е перемещался, переименовывался и т.д. история на этом моменте пропадет, чтобы заглянуть за точку бинарных изменений нужно добавить флаг --follow который позволит просмотреть историю целиком
$ git log -p -m --follow dir/file.txt