Перейти к содержанию

Страница коммитов проекта

Все коммиты

При работе с проектом можно посмотреть его историю изменений по коммитам и по отдельным веткам.

История коммитов

Нажмите по заголовку коммита, чтобы детально посмотреть внесенные изменения.

Переключайте ветки для просмотра полной истории изменений в проекте.

Переключение веток

Сравнение коммитов

На данной вкладке вы можете сравнивать изменения в коммитах, указав их теги или хэши.

Сравнение коммитов

Различия в отображении истории коммитов

Используя Git, вы можете просматривать историю коммитов в репозитории несколькими способами:

  • Командой git log, отображающей полную историю коммитов
  • Командой git log <путь>, отображающей историю изменений файла

Эти два вида просмотра коммитов могут иногда показывать различную информацию.

Полная история репозитория (git log)

Команда git log предоставляет вид с более подробной информацией и отображает историю всех коммитов в репозитории, начиная с последнего коммита. Коммиты отображаются в хронологическом порядке, с наиболее новым коммитом наверху.

История файла (git log <путь>)

Когда Git показывает историю отдельного файла git log <путь>, он упрощает историю, пропуская коммиты, которые не изменяли файл. Вместо того чтобы рассматривать каждый коммит, определяя его влияние на файл, Git будет пропускать всю ветку, если эта ветка при объединении не повлияла на конечное содержимое файла. Коммиты в ветке, которые затрагивали файл, не будут показаны.

Это делает обзор веток более эффективным, так как вы видите только коммиты, которые влияют на файл. Тем не менее, упрощенный вид не всегда содержит необходимую вам информацию.

Подробнее об этом вы можете узнать командой git help log в разделе History Simplification или в документации Git

Пример

Пусть мы работаем в проекте project. Добавим в ветку master пустой файл GitFlic.md и закоммитим изменения:

cd project
touch GitFlic.md
(master) > git add GitFlic.md
(master) > git commit "Добавлен пустой файл GitFlic.md"

Создадим ветку master -> dev и добавим какой-нибудь текст в GitFlic.md, например:

GitFlic -
Первая Российская Платформа для работы с кодом.

Закоммитим изменения:

(dev) > git commit "Добавил информацию в GitFlic.md"

А теперь передумаем и снова оставим GitFlic.md пустым:

(dev) > git commit "Сделал GitFlic.md пустым"

Сольем ветку dev в master и посмотрим логи коммитов:

(master) > git log --graph --oneline

* 3ec8251 (HEAD -> master, origin/master) Merged with dev

|\

| * d00f2c9 (origin/dev, dev) Сделал GitFlic.md пустым

| * 1bce7a3 Добавил информацию в GitFlic.md

|/

* d701536 Добавил пустой файл GitFlic.md

При этом, при просмотре истории изменений файла останется только один коммит - тот, что содержит существенные изменения (в данном случае - появление пустого файла):

(master) > git log --graph --oneline GitFlic.md

* d701536 Добавил пустой файл GitFlic.md

Отмена коммитов

Вы можете отменить выбранный коммит, для этого используйте кнопку в правой части коммита на странице списка коммитов.

Отмена происходит по аналогии с командой git revert, для отмены изменений будет создан новый коммит который отменит изменения выбранного коммита.

Для отмены коммита есть возможность создать новую ветку.

отменаКоммита

После отмены в списке появится новый коммит с заголовком Revert "<Заголовок отмененного коммита>".

Cherry-pick

Данная функция позволяет вам перенести изменения из коммита выбранной ветку в другую ветку.

Для использования данной функции откройте коммит который хотите перенести и в раскрывающемся меню "Дополнительно" выберите пункт cherry-pick.

Выберите целевую ветку и нажмите "Выполнить", при отсутствии конфликтов коммит перенесется в целевую ветку.

cherry-pick

При выполнении cherry-pick можно создать Запрос на слияние изменений с целевой веткой. Для этого ведите название новой ветки, которая будет содержать изменения выбранного коммита, после этого будет открыто окно создания запроса на слияние новой ветки с целевой.

Создание cherry-pick