Versão usada nos exemplos: Git 2.49.0 (x64)
Público-alvo: iniciantes e intermediários
Pré-requisitos: Windows 10/11, internet, privilégios para instalar programas
- Baixar e instalar o Git e VS Code no Windows
- Configuração inicial do Git
- Criando e iniciando um repositório (VS Code)
- Criar arquivos e commit inicial (VS Code)
- Trabalhando com branches (VS Code)
- Criando e resolvendo conflitos no terminal
- Criando e resolvendo conflitos no VS Code
- Visualizando histórico de commits no VS Code
- Clonando repositório via VS Code
- Sincronizando com GitHub pelo VS Code
- Dicas rápidas e comandos úteis
- Glossário rápido (opcional)
- Como substituir as imagens de exemplo
- Licença
- Acesse: https://git-scm.com/downloads
- Clique em Download for Windows e execute o instalador.
- Siga a instalação padrão (Next → Next → Finish).
- Verifique no Git Bash ou Prompt:
git --version
# Exemplo de saída esperada:
# git version 2.49.0.windows.1Figura 1 — Página oficial do Git (botão “Download for Windows”)

- Acesse: https://code.visualstudio.com/download
- Baixe a versão para Windows e instale.
- Abra o VS Code e confira Help → About (opcional).
Figura 2 — Página oficial do VS Code (botão “Download for Windows”)

Observação: O VS Code já inclui integração com Git e tem extensões úteis como Git Graph e GitLens.
Defina seu nome e e-mail (essas informações aparecem nos commits):
git config --global user.name "Seu Nome"
git config --global user.email "seu_email@email.com"
git config --listFigura 3 — Git Bash: configurando nome e e-mail

Note
--globalaplica a todos os repositórios do seu usuário.--local(executado dentro de um repositório) sobrescreve o global apenas para aquele projeto.
- No Windows Explorer, crie a pasta desenvolvimento e dentro dela exemplo1.
- Abra o VS Code → File → Open Folder… → selecione exemplo1.
- Abra o terminal integrado (`Ctrl + ``) e execute:
git initFigura 4 — VS Code: File → Open Folder (Explorer com pasta exemplo1)

Figura 5 — VS Code: Terminal integrado após git init

Isso cria a pasta oculta
.gitno diretório, iniciando o repositório.
- No Explorer, clique em New File e crie:
file1.txtcom o conteúdolinha 1file2.txtcom o conteúdolinha 1
- Abra Source Control (
Ctrl + Shift + G). - Faça Stage dos arquivos (ícone + ao lado do arquivo) e escreva a mensagem de commit no campo de mensagem.
- Clique em Commit (✓).
Figura 6 — VS Code: Explorer com file1.txt e file2.txt

Figura 7 — VS Code: Source Control com arquivos staged e campo de mensagem

Equivalente no terminal:
echo "linha 1" > file1.txt
echo "linha 1" > file2.txt
git add .
git commit -m "Adicionou arquivos file1.txt e file2.txt"- Clique no nome da branch na barra inferior (ex.:
main). - Selecione Create New Branch e nomeie
branch1,branch2, etc. - Para alternar entre branches, use o mesmo seletor ou a Command Palette (
Ctrl + Shift + P→ Git: Checkout to...).
Figura 8 — VS Code: menu “Current Branch” → Create New Branch

Comandos equivalentes no terminal:
git branch # lista branches
git branch branch1
git branch branch2
git checkout branch1
# ou criar e trocar:
git checkout -b nova-featureCenário: duas branches alteram a mesma linha de file1.txt.
# (1) na main
git checkout main
echo "linha 1 - versão principal" > file1.txt
git add file1.txt
git commit -m "Alterou file1.txt na main"
# (2) criar branch e alterar
git checkout -b branch-conflito
echo "linha 1 - versão da branch-conflito" > file1.txt
git add file1.txt
git commit -m "Alterou file1.txt na branch-conflito"
# (3) voltar à main e alterar a mesma linha
git checkout main
echo "linha 1 - nova versão da main" > file1.txt
git add file1.txt
git commit -m "Nova alteração em file1.txt na main"
# (4) merge que gera conflito
git merge branch-conflitoQuando ocorrer conflito, file1.txt ficará assim:
<<<<<<< HEAD
linha 1 - nova versão da main
=======
linha 1 - versão da branch-conflito
>>>>>>> branch-conflitoResolver:
- Edite
file1.txte remova os marcadores<<<<<<<,=======,>>>>>>>, escolhendo a versão final (ou mesclando texto). - Em seguida:
git add file1.txt
git commit -m "Resolveu conflito entre main e branch-conflito"Visualizar histórico:
git log --oneline --graph --allCenário: conflito em file2.txt, resolvido visualmente.
- Na
main:
git checkout main
echo "linha 1 - versão principal" > file2.txt
git add file2.txt
git commit -m "Alterou file2.txt na main"- Criar branch e alterar:
git checkout -b branch-vscode
echo "linha 1 - versão da branch-vscode" > file2.txt
git add file2.txt
git commit -m "Alterou file2.txt na branch-vscode"- Voltar
main, alterar a mesma linha:
git checkout main
echo "linha 1 - nova versão da main" > file2.txt
git add file2.txt
git commit -m "Nova alteração em file2.txt na main"- Tentar mesclar
git merge branch-vscode— deve aparecer:
CONFLICT (content): Merge conflict in file2.txt
Automatic merge failed; fix conflicts and then commit the result.- No VS Code (
code .):
- Abra
file2.txt. Você verá os marcadores de conflito e botões acima do bloco:- Accept Current Change — mantém a versão da branch atual (HEAD/main).
- Accept Incoming Change — mantém a versão da branch que está sendo mesclada.
- Accept Both Changes — aceita ambas (mantém as duas).
- Compare Changes — exibe diff lado a lado.
Figura 9 — VS Code: diff de conflito com botões de resolução

- Após escolher/editar, finalize:
git add file2.txt
git commit -m "Resolveu conflito de file2.txt usando VS Code"- Timeline: abra um arquivo e acesse a aba Timeline (painel do arquivo) para ver alterações daquele arquivo.
- Git Graph: instale a extensão Git Graph para visualizar grafo de commits e branches de forma interativa.
- GitLens também fornece histórico detalhado por linha e autor.
Figura 10 — VS Code: Timeline mostrando histórico do arquivo

Figura 11 — VS Code: extensão Git Graph mostrando grafo de commits

- Abra Command Palette (
Ctrl + Shift + P) → digite Git: Clone. - Cole a URL HTTPS (ex.:
https://github.com/usuario/repositorio.git). - Escolha a pasta destino e abra o repositório clonado no VS Code.
Figura 12 — VS Code: Command Palette com “Git: Clone”

- Para publicar a branch local: clique em Publish Branch na barra inferior. Siga o fluxo de login/autorizações para conectar à sua conta GitHub.
- Para sincronizar (push + pull), use Source Control → Sync Changes.
Figura 13 — VS Code: botão “Publish Branch” e prompt de login GitHub

Figura 14 — VS Code: Source Control com “Sync Changes”

Comandos equivalentes no terminal:
git remote add origin https://github.com/usuario/repositorio.git
git push -u origin main # primeiro push com upstream
git pull # atualizar local
git push # enviar commitsStatus e diferenças
git status # o que mudou desde o último commit
git diff # diferenças não stageadas
git diff --staged # diferenças já no stageHistórico
git log
git log --oneline --graph --decorate --allDesfazer (com segurança)
git restore caminho/arquivo # descarta mudanças locais não stageadas
git restore --staged caminho/arquivo # tira do stage
git checkout -- caminho/arquivo # alternativa clássica (antes do restore)Branches
git branch # listar
git checkout nome-branch # trocar
git checkout -b nova # criar e trocar
git merge outra-branch # mesclar na branch atual
git branch -d nome-branch # apagar (quando já mesclada)Remoto (GitHub)
git remote add origin https://github.com/usuario/repositorio.git
git push -u origin main
git pull
git pushResolução de conflitos (resumo)
- Identificar arquivos em conflito:
git status - Editar arquivos removendo marcadores
<<<<<<< >>>>>>> =======e escolhendo a versão desejada git add arquivogit commit -m "Resolveu conflito ..."
- Repositório: pasta com histórico de versionamento (.git).
- Commit: snapshot do estado do projeto com mensagem.
- Stage / Index: área de preparação antes do commit.
- Branch: linha paralela de desenvolvimento.
- Merge: unir mudanças de uma branch em outra.
- HEAD: referência para o commit/branch atual.
- Remote: repositório remoto (ex.: GitHub).
- Push / Pull: enviar / baixar alterações entre local e remoto.