Git красивое дерево коммитов

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-tree

Все кто работает с 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.

Источник

Оцените статью