Git красивое дерево коммитов
Для просмотра лога коммитов можно воспользоваться следующей командой:
git log —graph —color-words —color —source —decorate —all
В результате в текстовом виде будет выведено дерево коммитов и веток, причем вывод будет иметь цветовую раскраску. Будут хорошо выделены теги, разным цветом будут выделены ветки, будет показано местонахождение в проекте (HEAD), если в настоящий момент произошел откат до какого-нибудь коммита.
$ git log —graph —color-words —color —source —decorate —all
* commit efb62ca37b3c0764eb4989deaa3e705fed5417c6 refs/heads/master (HEAD, origin/master, master)
| | Date: Sat Dec 14 23:20:03 2013 +0400
| | Merge branch ‘master’ of github.com:xintrea/rc5simple
| * commit 2870efd975347f85c264b6fc02aeaa1c068ac252 refs/tags/v.1.30 (tag: v.1.30)
| | Date: Sat Dec 14 23:14:11 2013 +0400
* | commit 2450ec484eaf0344512eab3674ed66afb02f0279 refs/heads/master
| Date: Sat Dec 14 23:14:11 2013 +0400
* commit 11dc2f01c168be8ff45c3f5bf1aa60c66f2f702f refs/heads/master
| Date: Thu Dec 12 00:32:19 2013 +0400
| Fix codepage to UTF-8 in main.cpp
* commit 940cb028fbee303263db44c956e251ee6407d453 refs/heads/master
| | Date: Thu Dec 12 00:30:26 2013 +0400
| | Merge branch ‘master’ of github.com:xintrea/rc5simple
| * commit 9db0df32a7217ad9a59cc8aa038a27c726a48f46 refs/heads/master
| | Date: Tue Dec 10 19:54:46 2013 +0300
* | commit e0039d3fee807bbfd80535b9404dad63d958304f refs/heads/master
| Date: Thu Dec 12 00:28:38 2013 +0400
* commit 5bfd6718c856b9cf128da4d6c1b29e2dd36ef33f refs/heads/master
| Date: Tue Dec 10 21:12:20 2013 +0400
Вот еще один удобный вариант. Дерево с номерами коммитов и их описаниями:
git log —graph —oneline —all
* 4680990 — В эмуляторе консоли, который появляется при синхронизации, теперь правильно отображаются символы кириллицы. Отображение проверено
в Linux, а в Windows надо проверять отдельно.
* bec09d1 — Show standart and error output in console emulator — Try get error event in process in console emulator and stop window close i
* 9dc3cc5 — Исправлен баг, при котором при переносе записи по технологии Drag And Drop выбранная ветка оставалась засвеченной в случае, если
Drop происходил за пределами дерева — Исправлен баг Drag And Drop, при котором если переносилась только что отредактированная запись, в выбра
нную ветку попадала неотредактированная копия
* b03063f — Доработано выставление подсветки только что созданной строки, если она была добавлена в конец таблицы записей. Ранее прокрутка к
этой строке работала некорректно, так как была видна только верхняя полосочка строки.
* 39d93a8 — Очистка формата символов теперь очищает и цвет символа.
* a3fc7ae — v.1.32.59 — Исправлена и усилена очистка форматирования текста при нажатии на кнопку очистки текста Clear. Теперь правильно очищаются цвета такста, текст как ссылка, убираются лишние отступы, которые невозможно было убрать в предыдущих версиях. Тэги таблиц остаются неизменными, то есть, текст не превращается в plain-текст, убирается только форматирование. Обнаружена проблема с удалением рисунков, если рисунок попал в выделение и была нажата кнопка Clear. Надо разбираться дальше.
* 74dd8ae Merge branch ‘experimental’ of github.com:xintrea/mytetra_dev into experimental
| * ed501cb Merge branch ‘experimental’ of github.com:xintrea/mytetra_dev into experimental
| * | 15c7c59 Попытка сделать подменю Preferences для мобильной версии
* | | 112f600 Промежуточное сохранение
* | d383067 — Исправления для возможности компиляции в Qt 4.8.x
* 32f19a6 — Работа в Windows. Промежуточное сохранение.
* 3df29ca — Промежуточное сохранение
* f21c6f9 — Изменен режим расчета размера списка виджетов в ConfigDialog
* adb09ff — Промежуточный коммит. Попытка поместить виджеты настроек в скроллируемую область
* b4803eb — Убрана информация о пути в дереве записей в редакторе для desktop
Более короткий вид, который позволяет удобнее смотреть именно дерево. В нем один коммит занимает одну строку:
git log —graph —abbrev-commit —decorate —date=relative —format=format:’%C(bold blue)%h%C(reset) — %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)’ —all
* 4680990 — (20 hours ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* bec09d1 — (2 days ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* 9dc3cc5 — (3 days ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* b03063f — (3 days ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* 39d93a8 — (3 days ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* a3fc7ae — (3 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* 74dd8ae — (4 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
| * ed501cb — (4 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
| * | 15c7c59 — (5 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* | | 112f600 — (4 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* | d383067 — (5 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* 32f19a6 — (5 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* 3df29ca — (5 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
* f21c6f9 — (5 months ago) .. — xintrea/home/xi/work/game_ksi/mytetra
Полный граф коммитов c сокращёнными хешами, ссылками на коммиты и абсолютной датой. Используемый формат: синий сокращённый хеш коммита, голубая абсолютная дата, зелёная относительная дата, жёлтые ссылки на коммит, перевод строки, белые сообщение и автор:
git log —graph —abbrev-commit —decorate —format=format:’%C(bold blue)%h%C(reset) — %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n» %C(white)%s%C(reset) %C(dim white)- %an%C(reset)’ —all
* 4680990 — Sat, 9 May 2015 18:25:00 +0300 (20 hours ago)/home/xi/work/game_ksi/mytetra
* bec09d1 — Fri, 8 May 2015 15:42:44 +0300 (2 days ago)/home/xi/work/game_ksi/mytetra
* 9dc3cc5 — Fri, 8 May 2015 00:20:37 +0300 (3 days ago)/home/xi/work/game_ksi/mytetra
* b03063f — Thu, 7 May 2015 23:16:31 +0300 (3 days ago)/home/xi/work/game_ksi/mytetra
* 39d93a8 — Thu, 7 May 2015 21:51:06 +0300 (3 days ago)/home/xi/work/game_ksi/mytetra
* a3fc7ae — Thu, 19 Feb 2015 16:40:05 +0300 (3 months ago)/home/xi/work/game_ksi/mytetra
* 74dd8ae — Wed, 7 Jan 2015 21:06:20 +0300 (4 months ago)/home/xi/work/game_ksi/mytetra
| * ed501cb — Mon, 29 Dec 2014 08:48:26 +0300 (4 months ago)/home/xi/work/game_ksi/mytetra
| * | 15c7c59 — Wed, 24 Dec 2014 17:35:43 +0300 (5 months ago)/home/xi/work/game_ksi/mytetra
* | | 112f600 — Wed, 7 Jan 2015 21:06:04 +0300 (4 months ago)/home/xi/work/game_ksi/mytetra
* | d383067 — Sat, 20 Dec 2014 02:55:50 +0300 (5 months ago)/home/xi/work/game_ksi/mytetra
* 32f19a6 — Thu, 11 Dec 2014 17:06:55 +0300 (5 months ago)/home/xi/work/game_ksi/mytetra
* 3df29ca — Wed, 10 Dec 2014 03:57:56 +0300 (5 months ago)/home/xi/work/game_ksi/mytetra
* f21c6f9 — Wed, 10 Dec 2014 02:58:07 +0300 (5 months ago)/home/xi/work/game_ksi/mytetra
- Бесплатные сервиса размещения репозитариев Git
- Git workflow — Теория
- Git workflow — Краткое введение по основным инструкциям
- Git Wizardry
- Про Git на пальцах (для переходящих с SVN)
- Git на двоих
- Ежедневный Git
- Удачная модель ветвления для Git
- Синхронизация через GIT
- Git stash — работа с «карманом» в Git
- Как посмотреть настройки репозитария Git и как их изменить
- GIT: Инструкция-шпаргалка для начинающих
- Как перенести локальный GIT-репозитарий на сервер вместе со всей историей
- git reset — возврат к определенному коммиту, откат изменений, «жесткий» или «мягкий»
- git revert — отмена изменений, произведенных в прошлом отдельным коммитом
- Git — работа с ветками
- Git: Путь Github. Цикл разработки — Простое объяснение
- Машина времени в GIT
- Git Rebase: руководство по использованию
- Git: просмотр лога (истории) в консоли в виде дерева
- Git: понимание команды git merge
- Git: Опции слияния для команд merge и pull — определение стратегии слияния
- Git: как переключиться на нужный коммит
- Git: как смержить изменения из experimental в master
- Git: как посмотреть изменения, внесенные определенным коммитом
- Git: как посмотреть историю изменения одного файла
- Git: как вернуть один файл в состояние, которое было в определенном коммите
- git log — особенности данной команды при навигации по истории через git checkout
- Git: Как исправить HEAD detached from
- Git: что делать в состоянии detached head
- Работа в команде с использованием Git на примере проекта в среде Blender 3D
- Git: Как внести изменения в последний коммит
- Как в Git создать новую ветку в условиях, когда что-то уже было изменено после последнего коммита
- Как в Git залить новую локальную ветку в удаленный репозитарий
- Git: Как подключить новую ветку с удаленного сервера
- Git: Как узнать текущую ветку
- Git: В чем разница между Fetch и Pull?
- GIT: Как исправить ошибочный комментарий к коммиту или файлы в коммите
- Как настроить git на использование proxy-сервера
- Использование Git через HTTP-proxy
- Настройка работы Git через Proxy-сервер
- Git через proxy
- Использование git за прокси с аутентификацией
- Как в Git смержить изменения до конкретного коммита?
- Самый удобный визуальный клиент Git под основные платформы — SmartGit
- Основы системы управления версиями Git для новичков на примере SmartGit
- Как сделать подключение к репозитарию Git через Socks Proxy в условиях отсутствия DNS
- Как сделать подключение к репозитарию Git через проксирующее SSH соединение
- Как работать с незавершенными изменениями в коде? Как их коммитить в Git?
- Как в Git посмотреть незакоммиченные изменения в текстах исходников?
- Как поместить на GitHub уже существующий репозитарий
- Что происходит при откате изменений через git reset —soft
- Не бойся хардресета! Он твой друг и помощник. (Как пользоваться git reset)
- Как пометить определенный коммит тегом версии
- Как в Git удалить файлы из индекса, не удаляя их в рабочей директории
- Как настроить GIT, чтобы при конфликте слияния он прописывал в файл не только различия, но и «базу» этих различий
- Git: Разрешение конфликтов объединений
- Git: Извлечение старой версии файла
- Git stash: временный отказ от проделанной работы
- Git: проверка состояния репозитария, поддержание репозитария в рабочем состоянии
- Как в Git отменить локальные изменения и получить новое состояние из удаленного репозитария
- Как искать изменения в нужных файлах с помощью интерфейса gitk?
- Как выбрать одну из версий бинарного файла при возникновнии конфликта слияния?
- Как в Git посмотреть старый коммит, а потом вернуться обатно к самому последнему коммиту
- Получение хеша последнего коммита и его даты в Git (для версионирования)
- Памятка по неочевидным деталям использования Git
- Как синхронизировать форк на Github с основным репозитарием через веб-интерфейс
- Как пользоваться GitHUb: форки, ветки, запросы на добавление кода
- Как отменить (сбросить) еще не закоммиченные изменения в Git
- Первоначальная настройка имени пользователя и Email в Git-проекте
- Можно ли принимать изменения через git pull если не закоммичены изменения рабочей директории
- Как посмотреть какие команды генерирует git gui
- Как удалить файл в Git-репозитарии с изменением истории
Источник
Красивое git дерево в консоли (терминале)
Все кто работает с Git через какой-либо IDE, например, PhpStorm уже привыкли к виду
и забыли как работать с Git через консоль. А, как говорила моя учительница: «Если не знать, да еще и забыть. «.
В общем, PhpStom, конечно, штука хорошая, но чтобы посмотреть красивое дерево коммитов на удалённом сервере, к которому есть только ssh connect, PhpStorm не поможет. На этот случай можно воспользоваться следующей командой:
git log --graph --pretty=oneline --abbrev-commit --all --decorate
Чтобы не забывать эту длинную команду, можно её запомнить:
alias gitlog='git log --graph --pretty=oneline --abbrev-commit --all --decorate'
Вместо gitlog вы можете вписать любой алиас, который потом будете использовать.
Эта команда позволяет показывать коммиты из локальных и удаленных веток в текстовом формате.
$ gitlog * 342e16b (HEAD, master) Up to 8.17 | * eafaa80 (origin/master) Drupal up to 8.1.5 |/ * eaa6150 Merge branch 'master' of /home/***/repos/mbaev.com |\ | * ac9bace Add highlight for css * | 738fc2a Fix for VideoEmbedWysiwyg (rss) |/ * 9d8f642 Disallow translations and admin pages from index * d6d35af Disallow translations and admin pages from index * 327d112 Update modules * 0c0b925 Updated modules * 0671c01 Up to 8.1.1 and add video embed * 6e7bbc3 Theming search * 9be03a0 Beautify theme .
Бонус
Чтобы отобразить определенное количество коммитов необходимо указать флаг -n.
Источник