Processo Tipo
Expressão gráfica
Pensamento Tipo
Expressão estruturada
Anotações Tipo
Expressão eficiente

Diagrama GitSintaxe

Diagrama Git

O gráfico Git é uma expressão visual de commits e operações git em diferentes branches.

O gráfico Git é especialmente útil para desenvolvedores e equipes de operações, podendo ser usado para compartilhar sua estratégia de branches do Git.

O Mermaid pode renderizar gráficos Git

Código
                            
Copiar
Incorporar
--- title: Example Git diagram --- gitGraph commit commit branch develop checkout develop commit commit checkout main merge develop commit commit

O Mermaid oferece suporte a operações git básicas, como:

  • commit: representa um novo commit no branch atual.
  • branch: cria e alterna para um novo branch, definindo-o ao mesmo tempo como o branch atual.
  • checkout: alterna para um branch existente e o define como o branch atual.
  • merge: mescla o branch existente ao branch atual.

Com essas operações Git, você consegue desenhar gráficos Git no Mermaid de forma muito fácil e rápida. Os nomes de entidade geralmente começam com letra maiúscula, embora não haja um padrão reconhecido para isso, e no Mermaid isso não é obrigatório.

Observação: checkout e switch podem ser usados de forma intercambiável.

Sintaxe

A sintaxe Mermaid do gráfico Git é bastante direta e simples. Ela adota uma abordagem declarativa, e cada commit é desenhado na linha do tempo do gráfico Git na ordem em que aparece no código. Basicamente, segue a ordem de inserção de cada comando.

Primeiro, declare o tipo do seu diagrama com a sintaxe gitGraph. A sintaxe gitGraph informa ao Mermaid que você deseja desenhar um gráfico Git e interpreta o código do diagrama de acordo.

Todo gráfico Git é inicializado com o branch main. A menos que você crie branches diferentes, por padrão os commits vão para o branch principal. Isso é motivado pela forma como o git funciona: no início você sempre começa pelo branch principal. Por padrão, o branch main é definido como o branch atual.

Você pode usar a sintaxe commit para registrar um commit no branch atual; vejamos como isso funciona:

Um gráfico git simples, exibindo três commits no branch padrão main:

Código
                            
Copiar
Incorporar
gitGraph commit commit commit

Se você observar atentamente o exemplo anterior, poderá ver o branch padrão main e os três commits. Observe também que, por padrão, cada commit recebe um ID único e aleatório.

Adicionar um ID de commit personalizado

Para um determinado commit, você pode especificar um ID personalizado com a propriedade id ao declará-lo, seguida de dois-pontos : e do valor personalizado entre aspas duplas.

Vejamos como isso funciona com o diagrama abaixo:

Código
                            
Copiar
Incorporar
gitGraph commit id: "Alpha" commit id: "Beta" commit id: "Gamma"

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

Alterar o tipo de commit

No Mermaid, há três tipos de commit, que são renderizados de forma ligeiramente diferente no diagrama. Esses tipos são:

  • NORMAL: tipo de commit padrão, representado por um círculo preenchido
  • REVERSE: enfatiza que o commit é um commit reverso, representado por um círculo preenchido com cruz.
  • HIGHLIGHT: destaca um commit específico, representado por um retângulo preenchido.

Para um determinado commit, você pode especificar seu tipo ao declarar, usando a propriedade type, seguida de dois-pontos : e da opção de tipo desejada discutida acima. Por exemplo: commit type:

Observação: se o tipo de commit não for especificado, o padrão escolhido é NORMAL

Vejamos, com o diagrama abaixo, como esses diferentes tipos de commit se comportam:

Código
                            
Copiar
Incorporar
gitGraph commit id: "Normal" commit commit id: "Reverse" type: REVERSE commit commit id: "Highlight" type: HIGHLIGHT commit

Neste exemplo, especificamos um tipo diferente para cada commit. Além disso, veja como incluímos id e type ao mesmo tempo ao declarar o commit.

Adicionar tags

Para um determinado commit, você pode decorá-lo com tag, semelhante ao conceito de tag ou versão de lançamento no mundo do git. Você pode anexar uma tag personalizada ao declarar o commit, usando a propriedade tag, seguida de dois-pontos : e do valor personalizado entre aspas duplas.

Código
                            
Copiar
Incorporar
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

Neste exemplo, definimos uma tag personalizada para o commit.

Criar um novo branch

No Mermaid, para criar um novo branch, você pode usar a sintaxe branch. Também é necessário fornecer o nome do novo branch. O nome deve ser único e não pode ser o nome de um branch existente.

Quando o Mermaid lê a sintaxe branch, ele cria um novo branch e o define como o branch atual. Equivale a criar um novo branch no gráfico Git e alternar para ele.

Código
                            
Copiar
Incorporar
gitGraph commit commit branch develop commit commit commit

Neste exemplo, pode-se ver como começamos pelo branch padrão main e enviamos dois commits nele. Em seguida, criamos o branch develop, e todos os commits daí em diante foram colocados no branch develop, porque ele se tornou o branch atual.

Fazer checkout de um branch existente

No Mermaid, para alternar para um branch existente, você pode usar a sintaxe checkout, e também precisa fornecer o nome do branch existente. Se não for encontrado um branch com o nome especificado, ocorrerá um erro no console. Exemplo de uso: checkout develop

Quando o Mermaid lê a sintaxe checkout, ele encontra o branch com o nome especificado e o define como o branch atual. Isso equivale a fazer checkout de um branch no Git.

Código
                            
Copiar
Incorporar
gitGraph commit commit branch develop commit commit commit checkout main commit commit

Neste exemplo, começamos pelo branch padrão main e enviamos dois commits nele. Em seguida, criamos o branch develop, e todos os três commits seguintes foram colocados no branch develop, porque ele se tornou o branch atual. Depois, usamos a sintaxe checkout para definir o branch atual como main, e todos os commits subsequentes foram registrados no branch main.

Mesclar dois branches

No Mermaid, para mesclar ou conectar a um branch existente, você precisa usar a sintaxe merge. Ao mesmo tempo, também precisa fornecer o nome de um branch existente a ser mesclado. Se não for encontrado um branch com o nome especificado, será exibido um erro no console. Além disso, só é possível mesclar dois branches independentes, não sendo possível mesclar um branch consigo mesmo.

Exemplo de sintaxe: merge develop

Quando o Mermaid lê a sintaxe merge, ele encontra o branch especificado e seu último commit, e o mescla com o último commit do branch atual. É representado por dois círculos preenchidos.

A seguir está um exemplo de mesclagem de dois branches:

Código
                            
Copiar
Incorporar
gitGraph commit commit branch develop commit commit commit checkout main commit commit merge develop commit commit

Neste exemplo, começamos pelo branch main e enviamos dois commits nele. Em seguida, criamos o branch develop e enviamos três commits no branch develop. Depois, usamos a sintaxe checkout para definir o branch atual como main, e todos os commits subsequentes foram feitos no branch main. Por fim, mesclamos o branch develop no branch main, gerando um commit de merge. Como o branch atual ainda era main nesse momento, os dois últimos commits foram registrados nesse branch.

Você também pode adicionar atributos semelhantes à sua mesclagem:

  • id substitui o ID padrão por um ID personalizado
  • tag adiciona uma tag personalizada ao commit de merge
  • type substitui o tipo padrão do commit de merge. Você pode usar os outros tipos de commit mencionados anteriormente.
Código
                            
Copiar
Incorporar
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"

Mesclar seletivamente commits de outro branch

O Mermaid oferece suporte à seleção de um commit de outro branch para o branch atual. Você também pode usar a sintaxe cherry-pick para selecionar commits de outro branch.

Para usar a sintaxe cherry-pick, você deve especificar o id com a propriedade id e, após dois-pontos :, escrever o id do commit desejado, entre aspas duplas. Por exemplo:

Aqui estão algumas regras importantes a observar:

  • Você precisa fornecer um id para selecionar um commit existente. Se o ID de commit fornecido não existir, ocorrerá um erro. Para isso, use o formato commit id:$value para declarar o commit.
  • O commit fornecido não pode existir no branch atual, e o commit selecionado deve sempre vir de um branch diferente do atual.
  • O branch atual deve ter pelo menos um commit antes de poder fazer o cherry-pick, caso contrário ocorrerá um erro.
  • Ao selecionar um commit de merge, é necessário fornecer o ID do commit pai. Se a propriedade pai for omitida ou um ID de commit pai inválido for fornecido, será gerado um erro.
  • O commit pai especificado deve ser o pai direto do commit de merge que está sendo selecionado.
Código
                            
Copiar
Incorporar
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"

Opções de configuração específicas

No gráfico Git do Mermaid, você pode configurar as seguintes opções:

  • showBranches: valor booleano, padrão true. Se definido como false, os branches não serão exibidos.
  • showCommitLabel: valor booleano, padrão true. Se definido como false, os rótulos de commit não serão exibidos.
  • mainBranchName: string, padrão main. O nome do branch padrão.
  • mainBranchOrder: a posição do branch principal na lista de branches. Padrão 0, o que significa que, por padrão, o branch main fica em 1º lugar.
  • parallelCommits: valor booleano, padrão false. Se definido como true, os commits distantes do pai serão exibidos no mesmo nível.

Ocultar o nome do branch e a linha de conexão

Às vezes você pode querer ocultar o nome do branch e a linha de conexão. Você pode fazer isso com a sintaxe showBranches. Por padrão, seu valor é true, e você pode usar a diretiva para defini-lo como false.

Código
                            
Copiar
Incorporar
--- 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

Layout do rótulo de commit: rotacionado ou horizontal

O Mermaid suporta dois tipos de layout de rótulo de commit. O layout padrão é rotacionado, o que significa que o rótulo é colocado abaixo do círculo do commit, rotacionado em 45 graus para melhor legibilidade. Isso é especialmente útil para commits com rótulos longos.

Outro tipo é horizontal, o que significa que o rótulo é colocado abaixo do círculo do commit e centralizado horizontalmente, sem rotação. Isso é especialmente útil para commits com rótulos curtos.

Você pode alterar o layout do rótulo de commit usando a sintaxe rotateCommitLabel na diretiva. O padrão é true, o que indica que os rótulos de commit são rotacionados.

Exemplo de uso: rótulos de commit rotacionados

Código
                            
Copiar
Incorporar
--- 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

Exemplo de uso: rótulos de commit horizontais

Código
                            
Copiar
Incorporar
--- 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

Ocultar o rótulo de commit

Às vezes você pode querer ocultar os rótulos de commit. Você pode fazer isso com a sintaxe showCommitLabel. Por padrão, seu valor é true, e você pode usar a diretiva para defini-lo como false.

Código
                            
Copiar
Incorporar
--- 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

Nome personalizado do branch principal

Às vezes você pode querer personalizar o nome do branch principal. Você pode fazer isso com a sintaxe mainBranchName. Por padrão, seu valor é main, e você pode usar a diretiva para defini-lo como qualquer string.

Código
                            
Copiar
Incorporar
--- 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"

Veja o mapa de linha de metrô fictício criado com o Mermaid. Aqui, alteramos o nome do branch principal padrão para MetroLine1.

Ordem personalizada dos branches

No Mermaid, por padrão, os branches são exibidos na ordem em que são definidos ou aparecem no código do gráfico.

Às vezes você pode querer personalizar a ordem dos branches. Você pode fazer isso usando a sintaxe order ao lado da definição do branch, podendo defini-la como um número positivo.

O Mermaid segue a ordem de prioridade dada pela sintaxe order.

  • O branch principal é sempre exibido primeiro, pois seu valor de ordem padrão é 0. (A menos que sua ordem tenha sido modificada pela sintaxe mainBranchOrder na configuração e alterada a partir de 0)
  • Em seguida, todos os branches sem order serão exibidos na ordem em que aparecem no código do gráfico.
  • Em seguida, todos os branches com order serão exibidos na ordem de seu valor order.

Para controlar totalmente a ordem de todos os branches, é necessário definir order para todos eles.

Código
                            
Copiar
Incorporar
--- config: logLevel: 'debug' theme: 'base' gitGraph: showBranches: true showCommitLabel: true --- gitGraph commit branch test1 order: 3 branch test2 order: 2 branch test3 order: 1

No diagrama acima, todos os branches seguem a ordem definida.

Código
                            
Copiar
Incorporar
--- 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

No diagrama acima, todos os branches sem ordem especificada são desenhados na ordem em que foram definidos. Em seguida, o branch test4 é desenhado, porque sua ordem é 1. Depois, o branch main é desenhado, porque sua ordem é 2. Por fim, o branch test1 é desenhado, porque sua ordem é 3.

Observação: como sobrescrevemos mainBranchOrder para 2, o branch main não é desenhado no início, mas exibido conforme a ordem.

Aqui, alteramos o nome do branch principal padrão para MetroLine1.

Direção

O Mermaid suporta três direções: da esquerda para a direita (padrão), de cima para baixo e de baixo para cima.

Da esquerda para a direita (padrão, LR:)

No Mermaid, a direção padrão é da esquerda para a direita, com os branches empilhados uns sobre os outros.

No entanto, você pode definir isso explicitamente com LR: após a sintaxe gitGraph.

Código
                            
Copiar
Incorporar
gitGraph LR: commit commit branch develop commit commit checkout main commit commit merge develop commit commit

De cima para baixo (TB:)

Na direção de cima para baixo, os commits vão do topo para a base do diagrama, com os branches dispostos lado a lado.

Para orientar o gráfico dessa forma, você precisa adicionar TB: após a sintaxe gitGraph.

Código
                            
Copiar
Incorporar
gitGraph TB: commit commit branch develop commit commit checkout main commit commit merge develop commit commit

De baixo para cima (BT:)

Na direção de baixo para cima, os commits vão da base para o topo do diagrama, com os branches dispostos lado a lado.

Para orientar o gráfico dessa forma, você precisa adicionar BT: após a sintaxe gitGraph.

Código
                            
Copiar
Incorporar
gitGraph BT: commit commit branch develop commit commit checkout main commit commit merge develop commit commit

Commit temporário (parallelCommits: false)

Código
                            
Copiar
Incorporar
--- config: gitGraph: parallelCommits: false --- gitGraph: commit branch develop commit commit checkout main commit commit

Commits paralelos (parallelCommits: true)

Código
                            
Copiar
Incorporar
--- config: gitGraph: parallelCommits: true --- gitGraph: commit branch develop commit commit checkout main commit commit

Tema

O Mermaid oferece suporte a uma série de temas personalizados que você pode usar para encontrar um tema adequado para você. Nota: você pode, na prática, sobrescrever as variáveis de um tema existente para criar o seu próprio tema personalizado.

A seguir estão as diferentes opções de tema personalizado:

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

Para alterar o tema, você pode usar a sintaxe initialize.

Tema base

Código
                            
Copiar
Incorporar
--- 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

Tema floresta

Código
                            
Copiar
Incorporar
--- 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

Tema padrão

Código
                            
Copiar
Incorporar
--- 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

Tema escuro

Código
                            
Copiar
Incorporar
--- 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

Tema neutro

Código
                            
Copiar
Incorporar
--- 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

Personalizar com variáveis de tema

O Mermaid permite personalizar seu gráfico usando variáveis de tema, que controlam a aparência e o estilo de cada elemento do gráfico.

Para entender, tomemos como exemplo o tema default; os valores padrão das variáveis de tema são selecionados automaticamente a partir do tema.

Usando o tema default para definir a cor do branch:

Código
                            
Copiar
Incorporar
--- 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

O Mermaid oferece suporte a variáveis de tema para sobrescrever os valores padrão, podendo cobrir até 8 branches, ou seja, você pode definir a cor de até 8 branches com variáveis de tema. Após 8 branches, as variáveis de tema serão reutilizadas de forma cíclica, ou seja, o 9º branch usará o estilo do 1º branch.

Cor personalizada dos branches

Você pode usar as variáveis de tema git0 a git7 para personalizar as cores dos branches. O Mermaid permite definir a cor de até 8 branches, em que a variável git0 controla a cor do primeiro branch, git1 controla a cor do segundo branch, e assim por diante.

Observação: os valores padrão dessas variáveis de tema são obtidos do tema selecionado. Se você quiser sobrescrever os valores padrão, pode usar a sintaxe initialize para adicionar valores de variáveis de tema personalizados.

Exemplo:

Agora vamos sobrescrever os valores padrão das variáveis git0 a git3:

Código
                            
Copiar
Incorporar
--- 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

Cor personalizada do rótulo do branch

Você pode usar as variáveis de tema gitBranchLabel0 a gitBranchLabel7 para personalizar a cor dos rótulos dos branches. O Mermaid permite definir a cor de até 8 branches, em que a variável gitBranchLabel0 controla a cor do rótulo do primeiro branch, a variável gitBranchLabel1 controla a cor do rótulo do segundo branch, e assim por diante.

Vejamos como usar o tema default para definir a cor dos rótulos dos branches:

Agora vamos sobrescrever os valores padrão das variáveis gitBranchLabel0 a gitBranchLabel2:

Código
                            
Copiar
Incorporar
--- 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

Aqui, você pode ver que as cores e estilos de branch8 e branch9 são selecionados respectivamente a partir dos branches nas posições de índice 0 (main) e 1 (branch1).

Cor personalizada dos commits

Você pode usar as variáveis de tema commitLabelColor e commitLabelBackground para personalizar, respectivamente, a cor e a cor de fundo dos rótulos de commit.

Exemplo: agora vamos sobrescrever os valores padrão das variáveis commitLabelColor e commitLabelBackground:

Código
                            
Copiar
Incorporar
--- 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

Você pode usar a variável de tema commitLabelFontSize para personalizar o tamanho da fonte dos rótulos de commit.

Exemplo: agora vamos sobrescrever o valor padrão da variável commitLabelFontSize:

Código
                            
Copiar
Incorporar
--- 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

Tamanho de fonte personalizado do rótulo

Você pode usar a variável de tema tagLabelFontSize para personalizar o tamanho da fonte dos rótulos.

Exemplo: agora vamos sobrescrever o valor padrão da variável tagLabelFontSize:

Código
                            
Copiar
Incorporar
--- 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

Cor personalizada do rótulo

Você pode usar as variáveis de tema tagLabelColor, tagLabelBackground e tagLabelBorder para personalizar os rótulos, alterando respectivamente a cor do texto do rótulo, a cor de fundo do rótulo e a borda do rótulo.

Exemplo: agora vamos sobrescrever os valores padrão das variáveis tagLabelColor, tagLabelBackground e tagLabelBorder:

Código
                            
Copiar
Incorporar
--- 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

Cor personalizada dos commits em destaque

Você pode usar as variáveis de tema gitInv0 a gitInv7 para personalizar a cor dos commits em destaque de acordo com o branch em que estão. O Mermaid permite definir a cor específica dos commits em destaque para até 8 branches, em que a variável gitInv0 controla a cor do commit em destaque do primeiro branch, a variável gitInv1 controla a cor do commit em destaque do segundo branch, e assim por diante.

Agora vamos sobrescrever os valores padrão das variáveis git0 a git3:

Código
                            
Copiar
Incorporar
--- 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