Процесс Тип
Графическое выражение
Мышление Тип
Структурированное выражение
Заметки Тип
Эффективное выражение

Git-диаграммаСинтаксис

Git-диаграмма

Диаграмма Git — это визуальное представление git-коммитов и git-операций в разных ветках.

Диаграммы Git особенно полезны для разработчиков и команд эксплуатации и могут использоваться для обмена их стратегиями ветвления Git.

Mermaid может рендерить диаграммы Git

Код
                            
Копировать
Встраивание
--- title: Example Git diagram --- gitGraph commit commit branch develop checkout develop commit commit checkout main merge develop commit commit

Mermaid поддерживает основные git-операции, например:

  • commit : обозначает новый коммит в текущей ветке.
  • branch : создаёт и переключает на новую ветку, одновременно делая её текущей.
  • checkout : переключает на уже существующую ветку и делает её текущей.
  • merge : объединяет существующую ветку с текущей.

Благодаря этим Git-операциям вы можете очень легко и быстро строить диаграммы Git в Mermaid. Имена сущностей обычно начинаются с заглавной буквы, хотя общепринятого стандарта на этот счёт нет, и в Mermaid это не обязательно.

Примечание: checkout и switch можно использовать взаимозаменяемо.

Синтаксис

Синтаксис Mermaid для диаграмм Git очень прямой и простой. Он использует декларативный подход: каждый коммит отрисовывается на временной шкале диаграммы Git в порядке его появления в коде. По сути, он следует порядку вставки каждой команды.

Сначала объявите тип диаграммы с помощью синтаксиса gitGraph. Синтаксис gitGraph сообщает Mermaid, что вы хотите построить диаграмму Git, и соответствующим образом разбирает код диаграммы.

Каждая диаграмма Git инициализируется веткой main. Если вы не создадите другие ветки, по умолчанию коммиты попадают в главную ветку. Это обусловлено тем, как работает git: в начале вы всегда начинаете с главной ветки. По умолчанию ветка main устанавливается как текущая.

Вы можете зарегистрировать коммит в текущей ветке с помощью синтаксиса commit; давайте посмотрим, как это работает:

Простая диаграмма git, показывающая три коммита в ветке по умолчанию main:

Код
                            
Копировать
Встраивание
gitGraph commit commit commit

Если внимательно посмотреть на предыдущий пример, можно увидеть ветку по умолчанию main и три коммита. Также обратите внимание, что по умолчанию каждому коммиту присваивается уникальный случайный ID.

Добавление пользовательского ID коммита

Для некоторого коммита вы можете указать пользовательский ID с помощью свойства id при объявлении, затем добавить двоеточие: и указать пользовательское значение в двойных кавычках.

Давайте посмотрим, как это работает, на следующей диаграмме:

Код
                            
Копировать
Встраивание
gitGraph commit id: "Alpha" commit id: "Beta" commit id: "Gamma"

在此示例中,我们给提交分配了自定义 ID。

Изменение типа коммита

В Mermaid существует три типа коммитов, которые немного по-разному отображаются на диаграмме. Эти типы:

  • NORMAL : тип коммита по умолчанию, обозначается закрашенным кругом
  • REVERSE : подчёркивает, что коммит является обратным, обозначается перекрещённым закрашенным кругом.
  • HIGHLIGHT : выделяет определённый коммит, обозначается закрашенным прямоугольником.

Для заданного коммита вы можете указать его тип с помощью свойства type при объявлении, затем двоеточие : и нужный вариант типа, обсуждавшийся выше. Например: commit type:

Примечание: если тип коммита не указан, по умолчанию выбирается NORMAL

Давайте посмотрим на следующей диаграмме, как выглядят эти различные типы коммитов:

Код
                            
Копировать
Встраивание
gitGraph commit id: "Normal" commit commit id: "Reverse" type: REVERSE commit commit id: "Highlight" type: HIGHLIGHT commit

В этом примере мы указали для каждого коммита разный тип. Кроме того, обратите внимание, как мы включаем одновременно id и type при объявлении коммита.

Добавление метки

Для заданного коммита вы можете украсить его с помощью tag, подобно понятию метки или релиза в git. Вы можете прикрепить пользовательскую метку с помощью свойства tag при объявлении коммита, далее двоеточие: и пользовательское значение в двойных кавычках.

Код
                            
Копировать
Встраивание
gitGraph commit commit id: "Normal" tag: "v1.0.0" commit commit id: "Reverse" type: REVERSE tag: "RC_1" commit commit id: "Highlight" type: HIGHLIGHT tag: "8.8.4" commit

В этом примере мы задали пользовательскую метку для коммита.

Создание новой ветки

В Mermaid для создания новой ветки можно использовать синтаксис branch. Вам также нужно указать имя новой ветки. Имя должно быть уникальным и не может совпадать с именем существующей ветки.

Когда Mermaid читает синтаксис branch, она создаёт новую ветку и устанавливает её как текущую. Это эквивалентно созданию новой ветки в диаграмме Git и переключению на неё.

Код
                            
Копировать
Встраивание
gitGraph commit commit branch develop commit commit commit

В этом примере видно, как мы начинаем с ветки по умолчанию main и отправляем в неё два коммита. Затем мы создаём ветку develop, и все последующие коммиты попадают в ветку develop, так как она становится текущей.

Переключение на существующую ветку

В Mermaid для переключения на существующую ветку можно использовать синтаксис checkout, при этом также нужно указать имя существующей ветки. Если ветка с указанным именем не найдена, это приведёт к ошибке в консоли. Пример использования: checkout develop

Когда Mermaid читает синтаксис checkout, она находит ветку с указанным именем и устанавливает её как текущую. Это эквивалентно переключению на ветку в Git.

Код
                            
Копировать
Встраивание
gitGraph commit commit branch develop commit commit commit checkout main commit commit

В этом примере мы сначала начинаем с ветки по умолчанию main и отправляем в неё два коммита. Затем мы создаём ветку develop, после чего все три коммита попадают в ветку develop, так как она становится текущей. После этого мы используем синтаксис checkout, чтобы установить текущей ветку main, и все последующие коммиты записываются в ветку main.

Объединение двух веток

В Mermaid для объединения с существующей веткой или присоединения к ней нужно использовать синтаксис merge. При этом также нужно указать имя существующей ветки для объединения. Если ветка с указанным именем не найдена, в консоли отобразится ошибка. Кроме того, можно объединять только две отдельные ветки, нельзя объединять ветку с самой собой.

Пример синтаксиса: merge develop

Когда Mermaid читает синтаксис merge, она находит указанную ветку и её последний коммит и объединяет его с последним коммитом текущей ветки. Обозначается закрашенным двойным кругом.

Ниже приведён пример объединения двух веток:

Код
                            
Копировать
Встраивание
gitGraph commit commit branch develop commit commit commit checkout main commit commit merge develop commit commit

В этом примере сначала начинаем с ветки main и отправляем в неё два коммита. Затем мы создаём ветку develop и отправляем в ветку develop три коммита. После этого мы используем синтаксис checkout, чтобы установить текущей ветку main, и все последующие коммиты выполняются для ветки main. Наконец, мы объединяем ветку develop с веткой main, что создаёт коммит слияния. Поскольку в этот момент текущей веткой остаётся main, последние два коммита записываются в эту ветку.

Вы также можете добавить аналогичные свойства для своего слияния:

  • id переопределяет ID по умолчанию пользовательским ID
  • tag добавляет пользовательскую метку к коммиту слияния
  • type переопределяет тип коммита слияния по умолчанию. Вы можете использовать другие типы коммитов, упомянутые выше.
Код
                            
Копировать
Встраивание
gitGraph commit id: "1" commit id: "2" branch nice_feature checkout nice_feature commit id: "3" checkout main commit id: "4" checkout nice_feature branch very_nice_feature checkout very_nice_feature commit id: "5" checkout main commit id: "6" checkout nice_feature commit id: "7" checkout main merge nice_feature id: "customID" tag: "customTag" type: REVERSE checkout very_nice_feature commit id: "8" checkout main commit id: "9"

Выборочное объединение коммитов из другой ветки

Mermaid поддерживает выбор коммита из другой ветки в текущую ветку. Вы также можете использовать синтаксис cherry-pick для выбора коммита из другой ветки.

Чтобы использовать синтаксис cherry-pick, вы должны указать id с помощью свойства id, затем после двоеточия : написать нужный id коммита, заключив его в двойные кавычки. Например:

Вот несколько важных правил, которые следует учитывать:

  • Вам нужно указать id, чтобы выбрать существующий коммит. Если заданный ID коммита не существует, это приведёт к ошибке. Для этого используйте формат commit id:$value для объявления коммита.
  • Заданный коммит не должен существовать в текущей ветке; выбранный коммит всегда должен происходить из ветки, отличной от текущей.
  • В текущей ветке должен быть хотя бы один коммит, прежде чем можно будет выполнить cherry-pick, иначе возникнет ошибка.
  • При выборе коммита слияния необходимо указать ID родительского коммита. Если опустить свойство parent или указать недействительный ID родительского коммита, возникнет ошибка.
  • Указанный родительский коммит должен быть непосредственным родителем выбираемого коммита слияния.
Код
                            
Копировать
Встраивание
gitGraph commit id: "ZERO" branch develop branch release commit id:"A" checkout main commit id:"ONE" checkout develop commit id:"B" checkout main merge develop id:"MERGE" commit id:"TWO" checkout release cherry-pick id:"MERGE" parent:"B" commit id:"THREE" checkout develop commit id:"C"

Особые параметры конфигурации

В диаграмме Git Mermaid можно настроить следующие параметры:

  • showBranches : логическое значение, по умолчанию true. Если установлено false, ветки не отображаются.
  • showCommitLabel : логическое значение, по умолчанию true. Если установлено false, метки коммитов не отображаются.
  • mainBranchName : строка, по умолчанию main. Имя ветки по умолчанию.
  • mainBranchOrder : позиция главной ветки в списке веток. По умолчанию 0, что означает, что по умолчанию ветка main занимает 1-е место.
  • parallelCommits : логическое значение, по умолчанию false. Если установлено true, коммиты, удалённые от родителя, отображаются на одном уровне.

Скрыть имена веток и соединительные линии

Иногда вы можете захотеть скрыть имена веток и соединительные линии. Это можно сделать с помощью синтаксиса showBranches. По умолчанию его значение равно true; вы можете установить его в false с помощью директивы.

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' gitGraph: showBranches: false --- gitGraph commit branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" tag:"abc" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release

Макет меток коммитов: поворот или горизонтально

Mermaid поддерживает два типа макета меток коммитов. Макет по умолчанию — с поворотом, то есть метка размещается под кругом коммита и поворачивается на 45 градусов для лучшей читаемости. Это особенно полезно для коммитов с длинными метками.

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

Вы можете изменить макет меток коммитов, используя синтаксис rotateCommitLabel в директиве. По умолчанию он равен true, что означает поворот меток коммитов.

Пример использования: поворот меток коммитов

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' gitGraph: rotateCommitLabel: true --- gitGraph commit id: "feat(api): ..." commit id: "a" commit id: "b" commit id: "fix(client): .extra long label.." branch c2 commit id: "feat(modules): ..." commit id: "test(client): ..." checkout main commit id: "fix(api): ..." commit id: "ci: ..." branch b1 commit branch b2 commit

Пример использования: горизонтальные метки коммитов

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' gitGraph: rotateCommitLabel: false --- gitGraph commit id: "feat(api): ..." commit id: "a" commit id: "b" commit id: "fix(client): .extra long label.." branch c2 commit id: "feat(modules): ..." commit id: "test(client): ..." checkout main commit id: "fix(api): ..." commit id: "ci: ..." branch b1 commit branch b2 commit

Скрыть метки коммитов

Иногда вы можете захотеть скрыть метки коммитов. Это можно сделать с помощью синтаксиса showCommitLabel. По умолчанию его значение равно true; вы можете установить его в false с помощью директивы.

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' gitGraph: showBranches: false showCommitLabel: false --- gitGraph commit branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release

Пользовательское имя главной ветки

Иногда вы можете захотеть настроить имя главной ветки. Это можно сделать с помощью синтаксиса mainBranchName. По умолчанию его значение равно main; вы можете установить его в любую строку с помощью директивы.

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' gitGraph: showBranches: true showCommitLabel: true mainBranchName: 'MetroLine1' --- gitGraph commit id:"NewYork" commit id:"Dallas" branch MetroLine2 commit id:"LosAngeles" commit id:"Chicago" commit id:"Houston" branch MetroLine3 commit id:"Phoenix" commit type: HIGHLIGHT id:"Denver" commit id:"Boston" checkout MetroLine1 commit id:"Atlanta" merge MetroLine3 commit id:"Miami" commit id:"Washington" merge MetroLine2 tag:"MY JUNCTION" commit id:"Boston" commit id:"Detroit" commit type:REVERSE id:"SanFrancisco"

Посмотрите на виртуальную схему линий метро, созданную с помощью Mermaid. Здесь мы изменяем имя главной ветки по умолчанию на MetroLine1.

Пользовательский порядок веток

В Mermaid по умолчанию ветки отображаются в порядке их определения или появления в коде диаграммы.

Иногда вы можете захотеть настроить порядок веток. Это можно сделать с помощью синтаксиса order рядом с определением ветки; вы можете установить для него положительное число.

Mermaid следует приоритету, заданному синтаксисом order.

  • Главная ветка всегда отображается первой, так как её значение порядка по умолчанию равно 0. (Если только её порядок не был изменён с 0 с помощью синтаксиса mainBranchOrder в конфигурации.)
  • Далее все ветки без order отображаются в порядке их появления в коде диаграммы.
  • Далее все ветки с order отображаются в порядке их значений order.

Чтобы полностью контролировать порядок всех веток, необходимо определить order для всех веток.

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' gitGraph: showBranches: true showCommitLabel: true --- gitGraph commit branch test1 order: 3 branch test2 order: 2 branch test3 order: 1

На диаграмме выше все ветки следуют заданному порядку.

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' gitGraph: showBranches: true showCommitLabel: true mainBranchOrder: 2 --- gitGraph commit branch test1 order: 3 branch test2 branch test3 branch test4 order: 1

На диаграмме выше все ветки без указанного порядка отрисовываются в порядке определения. Затем отрисовывается ветка test4, так как её порядок равен 1. После этого отрисовывается ветка main, так как её порядок равен 2. Наконец, отрисовывается ветка test1, так как её порядок равен 3.

Примечание: поскольку мы переопределили mainBranchOrder на 2, ветка main не отрисовывается в начале, а отображается в соответствии с порядком.

Здесь мы изменяем имя главной ветки по умолчанию на MetroLine1.

Направление

Mermaid поддерживает три направления: слева направо (по умолчанию), сверху вниз и снизу вверх.

Слева направо (по умолчанию, LR:)

В Mermaid направление по умолчанию — слева направо, а ветки накладываются друг на друга.

Однако вы можете явно задать это значение с помощью LR: после синтаксиса gitGraph.

Код
                            
Копировать
Встраивание
gitGraph LR: commit commit branch develop commit commit checkout main commit commit merge develop commit commit

Сверху вниз (TB:)

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

Чтобы ориентировать диаграмму таким образом, вам нужно добавить TB: после синтаксиса gitGraph.

Код
                            
Копировать
Встраивание
gitGraph TB: commit commit branch develop commit commit checkout main commit commit merge develop commit commit

Снизу вверх (BT:)

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

Чтобы ориентировать диаграмму таким образом, вам нужно добавить BT: после синтаксиса gitGraph.

Код
                            
Копировать
Встраивание
gitGraph BT: commit commit branch develop commit commit checkout main commit commit merge develop commit commit

Временные коммиты (parallelCommits: false)

Код
                            
Копировать
Встраивание
--- config: gitGraph: parallelCommits: false --- gitGraph: commit branch develop commit commit checkout main commit commit

Параллельные коммиты (parallelCommits: true)

Код
                            
Копировать
Встраивание
--- config: gitGraph: parallelCommits: true --- gitGraph: commit branch develop commit commit checkout main commit commit

Тема

Mermaid поддерживает ряд пользовательских тем, которые вы можете использовать, чтобы найти подходящую вам тему. Примечание: вы действительно можете переопределить переменные существующей темы, чтобы создать свою собственную пользовательскую тему.

Ниже приведены различные варианты пользовательских тем:

  • redux-color
  • redux-dark-color
  • redux
  • redux-dark
  • default
  • neutral
  • dark
  • forest
  • neo
  • neo-dark
  • base

Чтобы изменить тему, можно использовать синтаксис initialize.

Базовая тема

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'base' --- gitGraph commit branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" tag:"abc" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release

Тема «Лес»

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'forest' --- gitGraph commit branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" tag:"abc" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release

Тема по умолчанию

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' --- gitGraph commit type:HIGHLIGHT branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" tag:"abc" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release

Тёмная тема

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'dark' --- gitGraph commit branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" tag:"abc" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release

Нейтральная тема

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'neutral' --- gitGraph commit branch hotfix checkout hotfix commit branch develop checkout develop commit id:"ash" tag:"abc" branch featureB checkout featureB commit type:HIGHLIGHT checkout main checkout hotfix commit type:NORMAL checkout develop commit type:REVERSE checkout featureB commit checkout main merge hotfix checkout featureB commit checkout develop branch featureA commit checkout develop merge hotfix checkout featureA commit checkout featureB commit checkout develop merge featureA branch release checkout release commit checkout main commit checkout release merge main checkout develop merge release

Настройка с помощью переменных темы

Mermaid позволяет настраивать диаграмму с помощью переменных темы, которые управляют внешним видом и стилем различных элементов диаграммы.

Для понимания возьмём в качестве примера тему default; значения по умолчанию переменных темы автоматически берутся из темы.

Использование темы default для задания цвета веток:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' --- gitGraph commit branch develop commit tag:"v1.0.0" commit checkout main commit type: HIGHLIGHT commit merge develop commit branch featureA commit

Mermaid поддерживает переменные темы для переопределения значений по умолчанию, максимум для 8 веток, то есть вы можете задать цвета максимум для 8 веток с помощью переменных темы. После 8 веток переменные темы повторно используются циклически, то есть 9-я ветка будет использовать стиль 1-й ветки.

Пользовательский цвет веток

Вы можете настраивать цвет веток с помощью переменных темы git0 — git7. Mermaid позволяет задать цвета максимум для 8 веток, где переменная git0 управляет цветом первой ветки, git1 — цветом второй ветки и так далее.

Примечание: значения по умолчанию этих переменных темы берутся из выбранной темы. Если вы хотите переопределить значения по умолчанию, можно использовать синтаксис initialize, чтобы добавить значения пользовательских переменных темы.

Пример:

Теперь давайте переопределим значения по умолчанию переменных git0 — git3:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' themeVariables: 'git0': '#ff0000' 'git1': '#00ff00' 'git2': '#0000ff' 'git3': '#ff00ff' 'git4': '#00ffff' 'git5': '#ffff00' 'git6': '#ff00ff' 'git7': '#00ffff' --- gitGraph commit branch develop commit tag:"v1.0.0" commit checkout main commit type: HIGHLIGHT commit merge develop commit branch featureA commit

Пользовательский цвет меток веток

Вы можете настраивать цвет меток веток с помощью переменных темы gitBranchLabel0 — gitBranchLabel7. Mermaid позволяет задать цвета максимум для 8 веток, где переменная gitBranchLabel0 управляет цветом метки первой ветки, переменная gitBranchLabel1 управляет цветом метки второй ветки и так далее.

Давайте посмотрим, как использовать тему default для задания цвета меток веток:

Теперь давайте переопределим значения по умолчанию переменных gitBranchLabel0 — gitBranchLabel2:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' themeVariables: 'gitBranchLabel0': '#ffffff' 'gitBranchLabel1': '#ffffff' 'gitBranchLabel2': '#ffffff' 'gitBranchLabel3': '#ffffff' 'gitBranchLabel4': '#ffffff' 'gitBranchLabel5': '#ffffff' 'gitBranchLabel6': '#ffffff' 'gitBranchLabel7': '#ffffff' 'gitBranchLabel8': '#ffffff' 'gitBranchLabel9': '#ffffff' --- gitGraph checkout main branch branch1 branch branch2 branch branch3 branch branch4 branch branch5 branch branch6 branch branch7 branch branch8 branch branch9 checkout branch1 commit

Здесь вы можете видеть, что цвета и стили branch8 и branch9 берутся соответственно из веток с индексами 0 (main) и 1 (branch1).

Пользовательский цвет коммитов

Вы можете использовать переменные темы commitLabelColor и commitLabelBackground для настройки соответственно цвета текста и цвета фона меток коммитов.

Пример: теперь давайте переопределим значения по умолчанию переменных commitLabelColor — commitLabelBackground:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' themeVariables: commitLabelColor: '#ff0000' commitLabelBackground: '#00ff00' --- gitGraph commit branch develop commit tag:"v1.0.0" commit checkout main commit type: HIGHLIGHT commit merge develop commit branch featureA commit

mermaid.grammar_mermaid_commit_label_define_label_font_big_small

Вы можете настроить размер шрифта меток коммитов с помощью переменной темы commitLabelFontSize.

Пример: теперь давайте переопределим значение по умолчанию переменной commitLabelFontSize:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' themeVariables: commitLabelColor: '#ff0000' commitLabelBackground: '#00ff00' commitLabelFontSize: '16px' --- gitGraph commit branch develop commit tag:"v1.0.0" commit checkout main commit type: HIGHLIGHT commit merge develop commit branch featureA commit

Пользовательский размер шрифта метки

Вы можете настроить размер шрифта меток с помощью переменной темы tagLabelFontSize.

Пример: теперь давайте переопределим значение по умолчанию переменной tagLabelFontSize:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' themeVariables: commitLabelColor: '#ff0000' commitLabelBackground: '#00ff00' tagLabelFontSize: '16px' --- gitGraph commit branch develop commit tag:"v1.0.0" commit checkout main commit type: HIGHLIGHT commit merge develop commit branch featureA commit

Пользовательский цвет метки

Вы можете настраивать метки с помощью переменных темы tagLabelColor, tagLabelBackground и tagLabelBorder, изменяя соответственно цвет текста метки, цвет фона метки и границу метки.

Пример: теперь давайте переопределим значения по умолчанию переменных tagLabelColor, tagLabelBackground и tagLabelBorder:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' themeVariables: tagLabelColor: '#ff0000' tagLabelBackground: '#00ff00' tagLabelBorder: '#0000ff' --- gitGraph commit branch develop commit tag:"v1.0.0" commit checkout main commit type: HIGHLIGHT commit merge develop commit branch featureA commit

Пользовательский цвет выделенного коммита

Вы можете настраивать цвет выделенных коммитов в зависимости от ветки с помощью переменных темы gitInv0 — gitInv7. Mermaid позволяет задать цвет выделенных коммитов максимум для 8 веток, где переменная gitInv0 управляет цветом выделенного коммита первой ветки, переменная gitInv1 управляет цветом выделенного коммита второй ветки и так далее.

Теперь давайте переопределим значения по умолчанию переменных git0 — git3:

Код
                            
Копировать
Встраивание
--- config: logLevel: 'debug' theme: 'default' themeVariables: 'gitInv0': '#ff0000' --- gitGraph commit branch develop commit tag:"v1.0.0" commit checkout main commit type: HIGHLIGHT commit merge develop commit branch featureA commit