Skip to content

Git log и git diff

Как выбрать подходящую команду для анализа изменений

При работе с Git важно иметь возможность отслеживать изменения в вашем проекте. Для этого существуют различные команды, такие как git log и git diff, каждая из которых предоставляет свой уникальный способ анализа изменений. Давайте разберемся, как выбрать подходящую команду для вашей конкретной задачи

git log

Покажет лог изменений (-p патч различия показать) feature ветки до общего предка git log -p HEAD..feature

My Diagram

Покажет логи общих изменений до общего предка git log -p HEAD...feature

My Diagram

git diff

Покажет различия с изменениями с обеих сторон до общего предка(то что во feature будет показано зеленым, то что в HEAD будет красным) git diff HEAD..feature

My Diagram

Покажет что есть в ветке feature(или удаленной origin/feature), но чего нет в активной HEAD до общего предка

git diff HEAD...feature

git diff HEAD...origin/feature

My Diagram

Отличия здесь log, diff в том что log покажет историю коммитов, в то время как diff различия между последними коммитами двух ветвей.

Таким образом, git log -p HEAD..feature удобна для просмотра истории изменений с коммитами, в то время как git diff HEAD..feature полезна для быстрого просмотра различий между текущим состоянием и состоянием на определенной ветке без привязки к коммитам.

Теперь, когда мы понимаем разницу между этими командами, мы можем выбрать подходящую для нашей конкретной задачи. Если вам нужно изучить историю коммитов на определенной ветке, используйте git log. Если вам нужно быстро оценить различия между текущим состоянием и состоянием на ветке, используйте git diff.