О git

Посмотреть историю коммитов текущей ветки, да и всего репозитория можно командой git log. У команды git log есть следующие параметры:

  • —graph : показывает дерево коммитов текущего репозитория с их принадлежностью к веткам
  • —source : справа от хэш-кода коммита написана его принадлежность к ветке (HEAD – значит, текущая ветка). Имеет смысл в сочетании с параметром -all
  • —all : показывает все коммиты всех веток
  • —decorate : показывает, на какой коммит указывают имена веток (и HEAD)

-n (количество) : ограничивает количество показываемых коммитов до “количество”, начиная с последнего.

В целом, для git значимыми сущностями является набор изменений (коммиты). Кстати, набор изменений может быть пустым, то есть в текущей ветке можно создать пустой коммит командой git commit –allow-empty –m “описание коммита”. Командой git reset можно “сбросить” заданное количество коммитов из текущей ветки (рассмотреть подробнее ниже, пока просто git reset —hard HEAD~1 , то есть удалить пустой коммит). Каждый набор изменений имеет свой уникальный хэш-код, а также “указатель” на следующий за ним и предыдущий набор изменений (коммит). Можно скопировать отдельный коммит другой ветки в текущую ветку командой git cherry-pick <хэш-код копируемого коммита>. Но важно понимать, что это будет другой коммит, с другим хэш-кодом, находящийся в истории коммитов другой ветки. То есть для git это разные коммиты. Кстати, одной командой можно скопировать несколько коммитов, синтаксис таков – git cherry-pick <хэш-код коммита, предшествующего первому из нескольких> <хэш-код последнего из нескольких>. Чтобы включить “предшествующий” коммит в число копируемых, надо после его хэш-кода поставить знак ‘^’.

Назад Вперед

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *