Manual Git para Power BIVersionamento profissional · v5
Manual completo · Atualizado em 2026

Versionamento Power BI
com Git & GitHub

Um padrão corporativo para versionar projetos .pbip, TMDL e relatórios Power BI usando GitHub Web, GitHub Desktop, VS Code e linha de comando — com fluxos para iniciantes e intermediários.

2
Perfis de uso
14+
Capítulos
50+
Comandos
100%
PT-BR

Você está no perfil Iniciante

Foco em GitHub Desktop e GitHub Web. Use o toggle no topo para alternar para Intermediário (VS Code, PowerShell e Bash).

1 Conceitos fundamentais

Antes de começar é importante entender o vocabulário básico. Estes termos aparecem em toda a interface do Git, do GitHub Desktop, do VS Code e do GitHub Web.

Repositório

Pasta do projeto com histórico completo de versões. Pode ficar local (no PC) e remoto (no GitHub).

Commit

Um marco salvo no histórico. Como uma "foto" da pasta naquele momento, com mensagem explicando o que mudou.

Branch

Linha de trabalho isolada. Permite testar sem afetar a versão principal (main).

Push

Envia commits do PC para o GitHub. Sem push, ninguém vê suas mudanças.

Pull

Baixa do GitHub para o PC. Sempre faça pull antes de começar a trabalhar.

Pull Request (PR)

Pedido formal para fundir uma branch na main, com revisão por outra pessoa.

Regra de ouro

Commit salva localmente. Push envia para o GitHub. Quem só faz commit e esquece o push fica com tudo trancado no PC.

2 Arquitetura: Power BI + Git + Service

Cada ferramenta tem um papel diferente. O GitHub não publica no Power BI Service automaticamente — ele apenas versiona o projeto.

flowchart LR
  A[👤 Você] -->|edita .pbip| B[💻 Power BI Desktop]
  B -->|salva| C[📁 Pasta local]
  C -->|commit + push| D[(☁️ GitHub)]
  D -->|pull| C
  C -->|publish| E[📊 Power BI Service]
  E -->|consome| F[👥 Usuários finais]
  D -.->|CI/CD opcional| E
  style A fill:#6366f1,color:#fff
  style D fill:#1f2328,color:#fff
  style E fill:#F2C811,color:#000
      

Fluxo conceitual: Git versiona código; Service entrega o relatório.

FerramentaPapel
Power BI DesktopDesenvolver relatório e modelo (cria .pbip)
Git + GitHubVersionar código, branches, commits, pull requests
GitHub DesktopInterface visual do Git (perfil iniciante)
VS CodeEditor com Git embutido + revisão de TMDL/JSON
Power BI ServicePublicar, agendar atualização, distribuir
GatewayConectar Service a fontes de dados locais

3 Instalar as ferramentas

Para o perfil Iniciante você precisa apenas de duas ferramentas:

  1. GitHub Desktop

    Baixe em desktop.github.com e instale com sua conta GitHub.

  2. Power BI Desktop

    Baixe na Microsoft Store ou em powerbi.microsoft.com e habilite o formato Power BI Project (.pbip) em Arquivo › Opções › Visualizações.

Para o perfil Intermediário, instale o stack profissional completo. O VS Code é a ferramenta central — combina edição de TMDL/JSON, Git visual (Source Control) e terminal integrado.

  1. Git for Windows

    Instale em git-scm.com. Inclui Git Bash e integração com PowerShell.

    powershell
    # verificar instalação
    git --version
    # saída esperada: git version 2.45.x
  2. Configurar identidade Git (uma vez só)

    bash
    git config --global user.name "Seu Nome"
    git config --global user.email "voce@empresa.com"
    git config --global init.defaultBranch main
    git config --global core.autocrlf true
    git config --global pull.rebase false
    # para Windows: prefere editor padrão do VS Code
    git config --global core.editor "code --wait"
  3. VS Code + extensões

    Baixe em code.visualstudio.com. Extensões essenciais para o stack PBI + Git:

    ExtensãoPara que serve
    GitLensMostra blame, autoria e histórico inline em cada linha
    Git GraphVisualiza o gráfico de commits e branches em árvore
    Git HistoryHistórico amigável de arquivos individuais
    TMDL (powerbi-tools)Syntax highlight para arquivos de modelo semântico
    Power BI StudioSuporte ampliado a PBIP/PBIR
    Better TOML / YAMLPara arquivos de configuração e CI/CD
    powershell
    # instalar extensões via terminal (após VS Code estar no PATH)
    code --install-extension eamodio.gitlens
    code --install-extension mhutchie.git-graph
    code --install-extension donjayamanne.githistory
  4. Autenticação no GitHub

    Duas opções (escolha uma):

    • Personal Access Token (PAT) — recomendado para começar. Gere em github.com → Settings → Developer settings → Personal access tokens. Cole quando o Git pedir senha.
    • SSH Key — mais profissional. Gere com ssh-keygen -t ed25519 -C "voce@empresa.com" e adicione a chave pública em github.com → Settings → SSH keys.
  5. Power BI Desktop com PBIP habilitado

    Arquivo › Opções › Visualizações › Power BI Project (.pbip). Reinicie o Power BI após habilitar.

Atalhos de teclado essenciais no VS Code
  • Ctrl + Shift + G → abre o painel Controle do Código-Fonte
  • Ctrl + ` → abre o terminal integrado (PowerShell/Bash)
  • Ctrl + Enter (no painel SCM) → confirma o commit
  • Ctrl + Shift + P → paleta de comandos (digite Git: para ver tudo)

4 Criar o repositório

Recomendação oficial: Crie sempre primeiro no GitHub Web, marque como Private, adicione um README inicial e só então clone para o computador. Isso evita 90% dos erros de configuração.
  1. Acesse github.com

    Faça login e clique no botão verde New repository no canto superior direito.

  2. Preencha os campos

    • Repository name: relatorio-vendas-powerbi (sem espaços, kebab-case)
    • Description: breve descrição do relatório
    • Visibility:Private
    • Initialize: ✅ Add a README file
    • .gitignore template: deixe em branco (vamos criar um customizado)
  3. Clique em Create repository

    Pronto. Agora seu repositório existe na nuvem com a branch main já criada.

5 Clonar o repositório

No GitHub Desktop

  1. File › Clone repository…

  2. Aba GitHub.com

    Selecione o repositório recém-criado da lista.

  3. Local path

    Escolha a pasta do PC. Sugestão: C:\Projetos\PowerBI\

  4. Clone

    Pronto — uma cópia local foi criada e já está conectada ao GitHub.

GitHub Desktop
Current repositoryrelatorio-vendas-powerbi
Current branchmain
Push origin
Changes 3
History
📄 .gitignoreA
📁 Vendas.Report/A
📄 Vendas.pbipA
3 changed files
+ # Vendas Power BI
+ Projeto de análise de vendas mensais.
+
+ ## Como abrir
+ 1. Abrir Vendas.pbip no Power BI Desktop

Mockup da tela do GitHub Desktop após clonar e adicionar arquivos.

Via terminal (PowerShell ou Bash)

bash
git clone https://github.com/empresa/relatorio-vendas-powerbi.git
cd relatorio-vendas-powerbi
git status

Via VS Code

  1. Pressione Ctrl+Shift+P e digite Git: Clone
  2. Cole a URL HTTPS do repositório
  3. Escolha a pasta local
  4. Aceite "Open repository"

6 GitHub Desktop a fundo

Para o perfil Iniciante, o GitHub Desktop é a ferramenta principal. Ele esconde a complexidade do Git por trás de botões claros, permitindo que você commite, troque de branch e faça push sem decorar comandos. Toda a documentação oficial está em docs.github.com/pt/desktop.

O que é o GitHub Desktop

É um aplicativo gratuito da Microsoft/GitHub que conecta o seu PC ao GitHub. Funciona como um tradutor visual: você clica em botões e ele executa comandos Git por baixo. Ideal para quem trabalha com Power BI Project (.pbip), arquivos TMDL, README e quer evitar terminal.

Visual e clicável

Vê o que mudou em cada arquivo, marca o que vai entrar no commit, escreve a mensagem e clica para enviar.

Histórico cronológico

Aba History mostra cada commit em ordem, quem fez, quando e o que mudou linha por linha.

Branches sem dor

Criar e trocar de branch é um clique. O Git Desktop pergunta o que fazer com mudanças não commitadas.

Push/Pull com 1 clique

Botão grande no topo. Indica setas para cima/baixo dizendo se você está atrás ou à frente do remoto.

Anatomia da janela

A interface tem três grandes áreas:

  1. Barra de topo com três botões: Current repository (qual projeto), Current branch (qual ramo), Push origin / Pull origin / Fetch origin (sincronizar)
  2. Painel esquerdo com duas abas: Changes (alterações ainda não commitadas) e History (commits já feitos)
  3. Painel direito mostra o diff do arquivo selecionado, lado a lado ou inline
GitHub Desktop · relatorio-vendas-powerbi
Current repositoryrelatorio-vendas-powerbi
Current branchfeature/dashboard-vendas
Push origin ↑ 2
Changes 5
History
📄 Vendas.pbipM
📊 page-vendas.jsonA
🔷 model.tmdlM
📝 README.mdM
🔶 faturamento.tmdlA
Diff de model.tmdl
measure 'Faturamento Mensal' =
-     SUM(Vendas[Valor])
+     CALCULATE(
+         SUMX(Vendas, Vendas[Quantidade] * Vendas[ValorUnit]),
+         DATESMTD(Calendar[Date])
+     )

GitHub Desktop com 5 alterações em uma branch de trabalho.

Os botões mais importantes (e quando clicar)

BotãoEm inglêsO que fazQuando usar
📁 Repositório atualCurrent repositoryLista todos os repos clonados, troca entre elesTrabalho em vários projetos PBI
🌿 Branch atualCurrent branchLista branches; permite criar/trocarSempre antes de começar trabalho novo
⬆️ EnviarPush originManda commits do PC para o GitHubAo terminar de trabalhar
⬇️ BaixarPull originBaixa atualizações do GitHubAntes de começar (pega trabalho dos colegas)
🔄 ConsultarFetch originVerifica se há novidades sem aplicarPara ver se vale fazer pull
📤 Publicar branchPublish branchCria a branch nova no GitHub remotoPrimeira vez que envia uma branch
📜 HistóricoHistoryLista cronológica de commitsVer o que já foi feito; reverter
📝 AlteraçõesChangesArquivos modificados ainda não commitadosAntes de cada commit

Fluxo do dia a dia (visual)

flowchart LR
  A[🌅 Início do dia] --> B[Fetch origin]
  B --> C{Há mudanças
no remoto?} C -->|sim| D[Pull origin] C -->|não| E[Current branch] D --> E E --> F[Trabalhar no
Power BI Desktop] F --> G[Aba Changes
revisa diffs] G --> H[Mensagem
do commit] H --> I[Commit to branch] I --> J[Push origin] J --> K[🌙 Fim do dia] style A fill:#0052B4,color:#fff style K fill:#1a7f37,color:#fff style I fill:#4DA3FF,color:#fff style J fill:#D52B1E,color:#fff

Trocando de branch com mudanças abertas

Esta é uma das situações mais comuns. Você está editando em uma branch e precisa trocar para outra. O GitHub Desktop pergunta:

🟦 Leave my changes on main

Deixar as alterações na branch atual. Use quando você não quer levar esse trabalho para a outra branch — vai voltar nele depois.

🟥 Bring my changes to nova-branch

Levar as alterações junto. Use quando você quer continuar o mesmo trabalho na nova branch (ex.: você criou na branch errada e quer mudar).

Regra prática: Se você está em dúvida, faça commit primeiro (mesmo que com mensagem genérica) e só depois troque de branch. É mais seguro.

Indicadores no botão Push/Pull

Os números ao lado do botão dizem onde você está:

  • ↑ 3 = você tem 3 commits locais que ainda não foram enviados (faça Push)
  • ↓ 2 = há 2 commits no GitHub que você ainda não baixou (faça Pull)
  • ↑ 3 ↓ 2 = histórico divergiu — Pull primeiro, resolva conflito se houver, depois Push
  • Sem números = está tudo sincronizado

Recursos oficiais (links docs.github.com)

TópicoLink
Sobre o GitHub Desktopdocs.github.com/pt/desktop/overview
Instalar e autenticarinstalling-github-desktop
Adicionar repositóriocloning-a-repository
Trabalhar com branchesmanaging-branches
Fazer commitscommitting-and-reviewing
Push e Pullpushing-changes-to-github
Reverter um commitreverting-a-commit
Atalhos de tecladokeyboard-shortcuts

Atalhos de teclado úteis (Windows)

Repositórios e branches

Ctrl + TTrocar de repositório
Ctrl + BTrocar de branch
Ctrl + Shift + NNova branch
Ctrl + NNovo repositório

Commits e sincronização

Ctrl + EnterConfirmar commit
Ctrl + PPush origin
Ctrl + Shift + PPull origin
F5Atualizar (refresh)

Navegação

Ctrl + 1Aba Changes
Ctrl + 2Aba History
Ctrl + Shift + AMostrar mudanças no Explorer
Ctrl + Shift + GMostrar no GitHub
Dica: No menu View → Show in Explorer você abre a pasta do projeto direto no Windows Explorer. Útil para encontrar o .pbip rapidamente.

6 VS Code — IDE para o fluxo intermediário

O VS Code combina três coisas que você precisa no dia a dia: editor de código (TMDL, JSON, README), controle de código-fonte visual (Source Control / SCM) e terminal integrado (PowerShell ou Bash). Você pode usar tudo por GUI, tudo por terminal, ou misturar.

Anatomia do painel Controle do Código-Fonte

Abra com Ctrl + Shift + G. É o ícone com duas bolinhas e uma linha (3º na barra de atividades).

relatorio-vendas-powerbi — VS Code
71
CONTROLE DO CÓDIGO-FONTE ···
ALTERAÇÕES
Alterações 7
📄Vendas.pbipM
📋.gitignoreM
📝README.mdM
🔷model.tmdlSemanticModel/definitionM
🔶faturamento.tmdltablesU
📊report.jsonReport/definitionM
🎨page-vendas.jsonpagesU
GRÁFICO Automático
feat: medida de faturamento ⌥ feature/medida-fat
chore: estrutura inicial ⌂ main
📄 model.tmdl
📋 .gitignore
12measure 'Faturamento Mensal' =
13 CALCULATE(
14 SUMX( Vendas, Vendas[Quantidade] * Vendas[ValorUnit] ),
15 DATESMTD( Calendar[Date] )
16 )
+17 formatString: "R$ #,##0.00"
+18 displayFolder: "Indicadores"
feature/medida-fat ↑ 1 ↓ 0 ⊘ 0 UTF-8 TMDL

Painel Controle do Código-Fonte do VS Code com 7 alterações em um projeto PBIP.

Os dois caminhos: GUI vs Terminal

No VS Code você pode fazer a mesma operação de duas formas. Use o que for mais rápido em cada momento.

Source Control (GUI)

  1. Salve os arquivos no Power BI Desktop
  2. Volte para o VS Code, abra Ctrl + Shift + G
  3. Veja a lista de Alterações com cada arquivo marcado M (modified), U (untracked) ou D (deleted)
  4. Clique no + ao lado de cada arquivo para fazer stage (ou no + do cabeçalho para todos)
  5. Digite a mensagem do commit no campo do topo
  6. Clique em Confirmação (ou Ctrl + Enter)
  7. Clique no botão ···Push (ou na nuvem na barra de status)

Terminal integrado

Abra com Ctrl + `. Mesma operação:

PS ~\projeto-vendas > git status modified: model.tmdl modified: .gitignore untracked: faturamento.tmdl PS ~\projeto-vendas > git add . PS ~\projeto-vendas > git commit -m "feat: medida fat" [feature/medida-fat 4a3c2b1] feat: medida fat PS ~\projeto-vendas > git push

Significado de cada letra ao lado do arquivo

LetraSignificadoO que isso quer dizer
MModifiedArquivo já existia e foi alterado
UUntrackedArquivo novo, ainda não está sendo versionado
AAdded (staged)Arquivo novo já no stage, pronto para commit
DDeletedArquivo foi apagado
RRenamedArquivo foi renomeado
!ConflictConflito de merge — resolver antes de commitar

Ações rápidas no painel Source Control

ÍconeAçãoQuando usar
Commit (Confirmação)Cria o commit com a mensagem digitada
RefreshReler estado dos arquivos do disco
+Stage allMarca todos os arquivos para o próximo commit
UnstageRemove o arquivo do stage
DiscardDescarta as alterações (cuidado, não tem volta!)
···More actionsPush, Pull, Fetch, Sync, Stash, Branch, Checkout to…

Painel Gráfico (Git Graph)

Logo abaixo das alterações, com a extensão Git Graph instalada, você vê a árvore de commits. Cada bolinha colorida é um commit; as etiquetas mostram em qual branch cada commit está. Clique com botão direito sobre um commit para reverter, criar branch ou fazer cherry-pick.

Dica de produtividade: use a paleta de comandos (Ctrl + Shift + P) e digite Git: — você vê todas as operações Git disponíveis (mais de 60). Ex.: Git: Checkout to…, Git: Stash, Git: Cherry Pick…, Git: Fetch, Git: Rebase Branch…

Workflow recomendado no VS Code (passo a passo)

  1. Abrir a pasta do projeto

    Ctrl + K, Ctrl + O ou Arquivo → Abrir Pasta. Selecione a raiz do repositório clonado.

  2. Atualizar antes de começar

    No painel SCM, clique em ···Pull (ou no terminal: git pull).

  3. Criar branch de trabalho

    Clique no nome da branch na barra de status (canto inferior esquerdo) → Create new branch… → digite feature/dashboard-vendas.

    # equivalente no terminal PS > git checkout -b feature/dashboard-vendas
  4. Trabalhar no Power BI Desktop

    Abra o .pbip, faça as alterações, salve. Os arquivos .tmdl e .json serão atualizados em disco.

  5. Revisar o diff no VS Code

    Volte para o VS Code. Clique em cada arquivo modificado no painel SCM — abre o diff lado a lado com a versão anterior. Confira que não está commitando lixo (cache, bookmarks).

  6. Commit + Push

    Mensagem no padrão (feat: …) → Ctrl + Enter → clique no ícone de nuvem para fazer push.

  7. Abrir Pull Request

    Clique no link que aparece como notificação, ou abra o GitHub Web manualmente. (Com a extensão GitHub Pull Requests, dá pra abrir o PR sem sair do VS Code.)

Configurações do VS Code recomendadas para PBI

Adicione no .vscode/settings.json do projeto (ou nas configurações globais):

json
{
  "git.autofetch": true,
  "git.confirmSync": false,
  "git.enableSmartCommit": true,
  "git.postCommitCommand": "push",
  "git.suggestSmartCommit": false,
  "scm.defaultViewMode": "tree",
  "diffEditor.ignoreTrimWhitespace": false,
  "files.eol": "\n",
  "files.exclude": {
    "**/*.pbix": true,
    "**/cache.abf": true,
    "**/localSettings.json": true
  }
}

7 .gitignore para Power BI

Atenção crítica: O .gitignore deve estar pronto antes do primeiro commit. Se você commitar arquivos errados (como .pbix ou cache), eles entram no histórico e dão trabalho para remover depois.

O que deve ser versionado

ArquivoO que é
*.pbipArquivo de projeto Power BI (texto)
**/definition/**/*.tmdlModelo semântico em TMDL
**/definition/**/*.jsonMetadados do projeto
*.pbirDefinição do relatório
*.pbismDefinição do modelo semântico
README.mdDocumentação
.gitignoreEste próprio arquivo

O que NÃO deve ser versionado

Crie o arquivo .gitignore na raiz do projeto com este conteúdo:

gitignore
# ============================================
# .gitignore — Power BI Project (PBIP/TMDL)
# ============================================

# Power BI - não versionar PBIX no repo principal
*.pbix

# Configurações locais / cache
**/localSettings.json
**/.pbi/localSettings.json
**/*.abf
**/cache.abf
**/*.tmp
**/*.temp

# Bookmarks e artefatos de sessão
**/*.bookmark.json
**/*bookmark*.json

# Arquivos de sistema
.DS_Store
Thumbs.db
desktop.ini

# Ambiente de desenvolvimento
.vscode/settings.json
.env
*.log

# Backups locais
backup/
_bkp/
*.bak
Já commitou um .pbix por engano?

Adicionar ao .gitignore depois não remove o arquivo do histórico. Use:

git rm --cached caminho/do/arquivo.pbix
git commit -m "chore: remove pbix do versionamento"
git push

8 Primeiro commit

O primeiro commit é especial: ele nasce na main e contém apenas a estrutura limpa do projeto. Depois disso, todo trabalho do dia a dia acontece em branches.

gitGraph
  commit id: "init: README"
  commit id: "chore: estrutura inicial"
  branch feature/dashboard-vendas
  checkout feature/dashboard-vendas
  commit id: "feat: cria página"
  commit id: "feat: medidas DAX"
  checkout main
  merge feature/dashboard-vendas
  branch fix/relacionamento
  commit id: "fix: produto x venda"
  checkout main
  merge fix/relacionamento
      

Linha do tempo: primeiro commit na main, depois sempre branches.

Checklist antes do primeiro commit

  1. ✅ Salvou o projeto no formato .pbip
  2. ✅ Criou o .gitignore com o template acima
  3. ✅ Conferiu que não há .pbix, cache.abf, localSettings.json na lista de mudanças
  4. ✅ A mensagem do commit segue o padrão

Mensagem recomendada

chore: estrutura inicial do projeto Power BI

Como fazer no GitHub Desktop

  1. Aba Changes

    Confira os arquivos listados. Marque o checkbox apenas dos que devem entrar.

  2. Escreva a mensagem

    No campo de baixo: chore: estrutura inicial do projeto Power BI

  3. Commit to main

    Clique no botão verde.

  4. Push origin

    Obrigatório — clique no botão no topo. Sem isso, nada vai para o GitHub.

Via terminal

bash
# 1. Conferir o que vai entrar
git status

# 2. Adicionar tudo o que não está no .gitignore
git add .

# 3. Criar o commit
git commit -m "chore: estrutura inicial do projeto Power BI"

# 4. Enviar para o GitHub
git push

9 Branches

Depois do primeiro commit, nunca trabalhe direto na main. Crie uma branch para cada assunto.

Quando criar uma branch nova

TipoQuando usarExemplo
feature/Nova funcionalidade, página, medidafeature/dashboard-vendas
fix/Correção de bug, cálculo, relacionamentofix/calculo-margem-bruta
chore/Ajuste técnico, gitignore, organizaçãochore/ajuste-gitignore
docs/Documentação, READMEdocs/atualiza-readme
refactor/Reorganização sem mudar regrarefactor/medidas-receita
hotfix/Correção urgente em produçãohotfix/erro-publicacao
Posso ter vários commits na mesma branch? Sim. Se forem do mesmo assunto, continue na mesma branch. Crie outra quando o assunto principal mudar.

Criar branch no GitHub Desktop

  1. Clique em Current branch

    No topo da janela, clique no nome da branch atual (geralmente main).

  2. New branch

    Botão azul no fundo do menu.

  3. Digite o nome

    Ex: feature/dashboard-vendas — use / para separar tipo e descrição.

  4. Create branch

    Pronto, você já está nela. Faça suas alterações no Power BI e volte para commitar.

  5. Publish branch

    Após o primeiro commit, clique em Publish branch para enviar a branch ao GitHub.

Trocando de branch com mudanças não commitadas?

O GitHub Desktop pergunta:

  • Leave my changes on main = deixar as mudanças na branch atual
  • Bring my changes to nova-branch = levar as mudanças para a nova branch

Use a primeira se você não quer levar esse trabalho. Use a segunda se quer continuar na nova branch.

Comandos PowerShell e Bash

Criar e mudar para nova branch

git checkout -b feature/dashboard-vendas

Listar branches locais

git branch

Listar todas (incluindo remotas)

git branch -a

Trocar de branch

git checkout main

Primeiro push da branch

git push -u origin feature/dashboard-vendas

Renomear branch atual

git branch -m novo-nome

Deletar branch local

git branch -d feature/antiga

Deletar branch remota

git push origin --delete feature/antiga

Sequência completa em uma branch nova

bash
# 1. Atualizar a main
git checkout main
git pull

# 2. Criar branch nova a partir da main atualizada
git checkout -b feature/dashboard-vendas

# 3. (editar arquivos no Power BI Desktop, salvar)

# 4. Commit + push
git add .
git commit -m "feat: cria página de análise de vendas"
git push -u origin feature/dashboard-vendas

10 Commits — padrão profissional

Formato

tipo: descrição objetiva no imperativo

Tipos disponíveis

feat:

Nova funcionalidade

feat: adiciona página de vendas

fix:

Correção de erro

fix: corrige cálculo de margem

docs:

Documentação

docs: atualiza README

chore:

Ajuste técnico

chore: ajusta gitignore

refactor:

Reorganizar sem mudar regra

refactor: reorganiza medidas DAX

style:

Ajuste visual/layout

style: ajusta cores do painel

Exemplos prontos para copiar

SituaçãoMensagem de commit
Criou nova páginafeat: adiciona página de análise de vendas
Criou medida novafeat: cria medida de faturamento mensal
Adicionou coluna calculadafeat: adiciona coluna de status do pedido
Adicionou segmentaçãofeat: adiciona segmentação por ano e mês
Corrigiu relacionamentofix: corrige relacionamento entre produto e venda
Corrigiu DAXfix: ajusta cálculo de margem bruta
Corrigiu filtrofix: corrige filtro de data no relatório
Atualizou READMEdocs: revisa README do projeto
Adicionou gitignorechore: adiciona gitignore para arquivos Power BI
Reorganizou pastaschore: reorganiza estrutura de pastas
Reorganizou medidasrefactor: reorganiza medidas de receita
Ajuste de coresstyle: corrige cores do painel
Boas práticas de commit
  • Um commit = um objetivo
  • Descrição em minúsculas, no imperativo (adiciona, não adicionei)
  • Tamanho ideal: até 72 caracteres na primeira linha
  • Se a branch é feature/X, comece os commits com feat:

11 Push, Pull e Fetch

💻 Local (PC) working dir + commits GitHub Desktop / VS Code ☁️ Remoto (GitHub) origin/main github.com/empresa/... push → ← pull
ComandoO que fazQuando usar
git pushEnvia commits locais → GitHubApós cada commit que você quer publicar
git pullBaixa mudanças → integra na branch localAntes de começar a trabalhar
git fetchVerifica se há novidades sem aplicarQuando quer só conferir antes de baixar
Pull NÃO volta versão antiga. Pull só traz coisas novas do remoto. Para voltar no histórico, veja a seção de Rollback.

12 Pull Request & Merge

O Pull Request (PR) é o pedido formal para fundir uma branch de trabalho na main. Em equipes, ele permite revisão e discussão antes da junção.

  1. Faça push da sua branch

    No GitHub Desktop: Push origin. No terminal: git push -u origin feature/...

  2. Abra o GitHub Web

    Vá ao seu repositório. Aparece uma faixa amarela: Compare & pull request.

  3. Preencha o PR

    • Título: mesmo padrão do commit (feat: adiciona dashboard de vendas)
    • Descrição: contexto do que mudou + screenshots se possível
    • Reviewers: marque colega(s) que revisarão
  4. Aguarde aprovação

    Ajuste o que for sugerido com novos commits na mesma branch.

  5. Merge pull request

    Após aprovação, clique no botão verde. Use Squash and merge para histórico limpo.

  6. Delete branch

    O GitHub oferece deletar a branch após o merge. Aceite — mantém o repo organizado.

13 Rollback & recuperação de erros

Errou algo? Calma — o Git tem várias formas de voltar atrás. A escolha depende de onde está o erro.

🟢 Commit ainda local

Não fez push? Use Undo commit ou git reset. É seguro porque só afeta seu PC.

🟡 Commit já publicado

Já fez push? Use Revert. Cria um novo commit que desfaz o anterior, sem alterar o histórico.

🔴 Voltar a um ponto antigo

Use Reset to commit com cuidado — pode apagar commits posteriores. Em equipe, evite.

No GitHub Desktop

Vá em History, clique com botão direito no commit:

OpçãoO que fazQuando usar
Undo commit…Desfaz commit local; arquivos voltam para ChangesAcabou de commitar e percebeu erro, ainda não fez push
Revert changes in commitCria novo commit que desfaz o anteriorCommit já está no GitHub
Reset to commit…Move a branch para um commit antigoCasos avançados, individual; evite em equipe
Checkout commitInspeciona commit antigo sem mudar branchQuero só ver como estava
Amend commit…Edita o último commit (mensagem ou arquivos)Errei a mensagem do último commit
Create branch from commitCria nova branch a partir de um ponto antigoQuero recuperar um estado anterior em outra linha

Regra prática

  • Commit local com erro → Undo commit…
  • Commit publicado errado → Revert changes in commit
  • Quero voltar para um ponto antigo → Create branch from commit

Comandos de rollback

Reverter o último commit (já publicado)

bash
git revert HEAD
git push

Reverter um commit específico

bash
git log --oneline   # pegue o hash
git revert <hash>
git push

Desfazer último commit local sem perder mudanças

bash
git reset --soft HEAD~1

Desfazer último commit local apagando mudanças

bash
git reset --hard HEAD~1

Recuperar estado antigo em uma branch nova (seguro)

bash
git checkout -b baseline-recuperado <hash>

Reset com força no remoto (perigoso, só uso pessoal)

bash
git reset --hard <hash>
git push --force
NUNCA use --force em branches compartilhadas. Você pode apagar trabalho de outros sem aviso. Em equipe, sempre prefira git revert.

14 Conflitos de merge

Acontecem quando duas pessoas (ou você em duas branches) editam a mesma linha do mesmo arquivo. O Git não sabe qual versão manter e pede que você decida.

Em projetos PBIP, conflitos são frequentes em arquivos .tmdl e report.json. Para reduzir, mantenha branches curtas e faça pull da main com frequência.

Anatomia de um conflito

Quando há conflito, o Git insere marcações no arquivo:

// dentro de um arquivo .tmdl ou .json
<<<<<<< HEAD
medida = SUM(Vendas[Valor])
=======
medida = SUMX(Vendas, Vendas[Valor] * Vendas[Quantidade])
>>>>>>> feature/nova-medida

Você precisa:

  1. Abrir o arquivo
  2. Decidir qual versão manter (ou combinar as duas)
  3. Apagar as marcações <<<, ===, >>>
  4. Salvar
  5. Commitar a resolução

Comandos úteis

bash
# Ver arquivos com conflito
git status

# Após resolver manualmente, marcar como resolvido
git add caminho/arquivo
git commit -m "fix: resolve conflito de merge na medida"

# Abortar o merge e voltar ao estado anterior
git merge --abort

15 Mensagens de erro frequentes

MensagemCausaSolução
fatal: not a git repositoryVocê está fora da pasta do repocd para a pasta correta
nothing to commit, working tree cleanNada mudou desde o último commitEdite alguma coisa antes de commitar
Your branch is ahead of 'origin/main' by N commitsTem commits locais que não foram enviadosgit push
error: failed to push some refsTem coisa nova no remoto que você não temgit pull primeiro, resolva conflitos, depois git push
Updates were rejected because the tip of your branch is behindMesmo do anteriorgit pull --rebase e depois git push
Please commit your changes or stash them before you switch branchesTentou trocar de branch com mudanças não commitadasCommitar primeiro, ou git stash
Permission denied (publickey)SSH não configuradoUse HTTPS ou configure SSH (ssh-keygen + adicionar ao GitHub)
Authentication failedSenha/token inválidoGere um Personal Access Token no GitHub e use como senha

16 Publicação no Power BI Service

GitHub ≠ Power BI Service. Fazer push no GitHub não publica o relatório para os usuários. A publicação é uma etapa separada no Power BI Desktop.

Fluxo manual recomendado

  1. Garanta que está na main atualizada

    O PR foi mergeado e a versão está aprovada.

  2. Abra o .pbip no Power BI Desktop

    Confira que o relatório abre sem erro.

  3. Clique em Publicar

    Botão na faixa superior. Escolha o Workspace destino.

  4. Configure no Service

    • Credenciais da fonte de dados
    • Gateway (se a fonte é local)
    • Agendamento de atualização
    • Permissões de acesso
  5. Valide com um usuário final

    Peça para alguém abrir o relatório e confirmar que tudo funciona.

Quando publicar?

Não publique a cada commit. Publique apenas quando:

17 Automação CI/CD (avançado)

Para times maduros com workspaces DEV/HML/PRD, vale automatizar a publicação. Três caminhos:

1. Fabric Git Integration

Conecta um workspace do Fabric diretamente a uma branch. Sincronização nativa, sem código.

2. fabric-cicd (Python)

Biblioteca oficial Microsoft para deploy de PBIP via GitHub Actions ou Azure DevOps.

3. Power BI REST API

Para automação totalmente customizada com Service Principal.

flowchart LR
  A[Commit + Push] --> B[Pull Request]
  B --> C{Review}
  C -->|aprovado| D[Merge na main]
  D --> E[GitHub Actions]
  E --> F[fabric-cicd]
  F --> G[Workspace DEV]
  G --> H[Workspace HML]
  H --> I[Workspace PRD]
  style A fill:#6366f1,color:#fff
  style I fill:#1a7f37,color:#fff
      

18 Nomenclaturas — padrão do projeto

Repositórios

Use kebab-case (palavras em minúsculas separadas por hífen):

Branches

Padrão: tipo/descricao-curta

feature/dashboard-vendas
feature/medidas-faturamento
fix/correcao-relacionamento-produto
fix/ajuste-calculo-margem
hotfix/erro-publicacao-producao
chore/ajuste-gitignore-powerbi
docs/atualiza-readme-projeto
refactor/medidas-receita

Commits

Padrão: tipo: descrição objetiva

feat: adiciona página de análise de vendas
fix: corrige relacionamento entre produto e venda
chore: adiciona gitignore para arquivos Power BI
docs: atualiza instruções de publicação no service
refactor: reorganiza medidas de receita
style: ajusta layout da página executivo

Boas práticas gerais

19 Glossário inglês ↔ português

InglêsPortuguêsExplicação
RepositoryRepositórioLocal onde o projeto fica salvo
MainPrincipalBranch oficial e estável
BranchRamificaçãoLinha de trabalho separada
CommitRegistro de alteraçãoPonto salvo no histórico
PushEnviarManda commits locais para o GitHub
PullBaixar atualizaçãoTraz mudanças do GitHub
FetchConsultar atualizaçõesVerifica sem aplicar
CloneClonarBaixar repo conectado ao GitHub
Pull RequestSolicitação de revisãoPedido de merge com revisão
MergeMesclarJuntar duas branches
Stage / StagedPreparadoArquivos selecionados para o commit
UnstageDesprepararTirar do commit antes de confirmar
Publish branchPublicar branchCriar branch no remoto
WorkspaceEspaço de trabalhoÁrea no Power BI Service
PublishPublicarEnviar relatório para o Service
Semantic ModelModelo semânticoModelo de dados do relatório
ReportRelatórioCamada visual
PBIPProjeto Power BIFormato versionável (pasta)
PBIXArquivo Power BIBinário tradicional (não versionar)
TMDLTabular Model Definition LanguageFormato textual do modelo semântico
Hash / SHAIdentificador do commitCódigo único de cada commit
HEADCabeçaAponta para o commit atual
OriginOrigemApelido padrão do repo remoto
ConflictConflitoMesma linha alterada em branches diferentes
StashEsconderijoGuarda mudanças temporariamente

20 Templates README para Power BI

Template Iniciante

markdown
# Nome do Projeto Power BI

## O que este projeto faz
Breve descrição (1-2 frases) do que o relatório mostra.

## Como abrir
1. Abrir o arquivo `Projeto.pbip` no Power BI Desktop
2. Aguardar o carregamento do modelo
3. Atualizar dados se necessário

## Como contribuir
1. Criar uma branch: `feature/sua-mudanca`
2. Fazer alterações e salvar
3. Commit: `feat: descrição da mudança`
4. Push da branch
5. Abrir Pull Request

## Regras importantes
- Não versionar `.pbix`
- Sempre fazer push depois do commit
- Usar branch para mudanças grandes

## Responsável
Nome: [Seu nome]
E-mail: [seu@email.com]

Template Intermediário

markdown
# Nome do Projeto Power BI

## Objetivo
Descreva o objetivo de negócio do relatório e o público-alvo.

## Stack
- Power BI Desktop (PBIP habilitado)
- TMDL para modelo semântico
- Git + GitHub para versionamento
- VS Code com extensões GitLens, Git Graph, Power BI TMDL
- Power BI Service (workspace: `nome-do-workspace`)

## Estrutura do projeto
```
Projeto/
├── Projeto.pbip
├── Projeto.Report/
│   └── definition/
├── Projeto.SemanticModel/
│   └── definition/
├── README.md
└── .gitignore
```

## Fluxo de trabalho
1. `git checkout main && git pull`
2. `git checkout -b feature/sua-mudanca`
3. Editar no Power BI Desktop e salvar
4. `git add . && git commit -m "feat: descrição"`
5. `git push -u origin feature/sua-mudanca`
6. Abrir Pull Request, aguardar review
7. Merge na main após aprovação
8. Publicar manualmente no Power BI Service (versão aprovada)

## Convenção de commits
| Tipo | Uso |
|---|---|
| feat | Nova funcionalidade |
| fix | Correção |
| refactor | Reorganização |
| docs | Documentação |
| chore | Ajuste técnico |

## Workspaces
- DEV: `workspace-dev-relatorio`
- HML: `workspace-hml-relatorio`
- PRD: `workspace-prd-relatorio`

## Fontes de dados
- SQL Server: `servidor.empresa.local`
- Gateway: `Gateway-Corporativo-01`

## Responsável técnico
Nome: [Seu nome]
E-mail: [seu@email.com]
Data da última revisão: AAAA-MM-DD

21 Cheatsheet final

GitHub Desktop — onde clicar

📁 Trocar repositório

Topo esquerdo: Current repository

🌿 Trocar branch

Topo: Current branch → escolher

➕ Nova branch

Current branch → New branch

💾 Fazer commit

Aba Changes → mensagem → Commit to ...

⬆️ Push

Botão Push origin no topo

⬇️ Pull

Botão Pull origin / Fetch origin

↩️ Desfazer último commit

History → botão direito → Undo commit

🔄 Reverter publicado

History → direito → Revert changes in commit

Comandos essenciais — terminal

📥 Iniciar trabalho do dia

git checkout main
git pull
git checkout -b feature/X

💾 Commit + push

git status
git add .
git commit -m "feat: ..."
git push -u origin feature/X

🔍 Inspecionar histórico

git log --oneline --graph -10
git diff HEAD~1
git show <hash>

↩️ Rollback

git revert HEAD
git reset --soft HEAD~1
git checkout -b backup <hash>

🧹 Limpar / arquivar

git stash
git stash pop
git rm --cached arquivo

🌿 Branches

git branch -a
git branch -d antiga
git push origin --delete antiga
Frase para fixar: "O GitHub controla as versões. O Power BI Service entrega o relatório para os usuários. Fazer push no GitHub não publica automaticamente no Service, a menos que exista uma automação configurada."