Skip to main content

Смотрим/сравниваем (git show/git diff), навигация

Небольшой ликбез.

Навигация по гиту:

HEAD - наша текущая workdir, т.е. где мы сейчас находимся. Используется если ветка/коммит не указана явно (например при git diff, см пример ниже)

origin/ (например origin/master) - указание на то что надо смотреть в наш ремоут (удаленную репу, гитлаб например). Если у нас несколько ремоутов, то они так и указываются, например gitlab/master, github/master. Если мы сделаем из нашей ветки git pull, то ветка master не обновится! Поэтому если будешь сравнивать с мастером, сравнивай с origin/master.

HEAD~1 - на один коммит старше нашего HEAD'а. Можно указать соотв-но HEAD~3, HEAD~10, HEAD~100, чтобы указать на 3/10/100 коммитов назад.

 

Иногда нам надо сравнить или какой-то файл или ветку с другой веткой. Это довольно интуитивно, тут даже особо нечего описывать, поэтому вот команды:

git log

Показывает историю коммитов

# посмотреть историю коммитов вместе с измененными файлами и сами изменениями:
git log -p 

 

git diff

Показывает diff между коммитами и (опционально) файлами

# сравнить HEAD с master:
git diff ..master 

# Сравнить файл из одного коммита с файлом из другого коммита:
git diff 0abcdea01:file.sls..329a4b3:file.sls

git show

Просто выводит файл из коммита

git show 0abcdea01:file.sls