# 🎨 GUIA DE INTERFACE VISUAL GIT (VSCODE) & COMANDOS EQUIVALENTES Este guia reúne todas as explicações das funções visuais do painel **Source Control** do VSCode, mapeando-as aos seus comandos equivalentes no terminal Git e indicando as melhores práticas de uso na nossa arquitetura GitOps. --- ## 🗺️ 1. Mapeamento de Funções Rápidas (Principais) | Botão Visual no VSCode | Comando no Terminal | O que faz na prática? | | :--- | :--- | :--- | | **📥 Pull** | `git pull` | Baixa as últimas alterações do Gitea (VPS 3) e as junta diretamente ao seu código local. | | **📤 Push** | `git push` | Envia as alterações que você salvou (comitou) localmente para o repositório central no Gitea. | | **👥 Clone** | `git clone ` | Baixa um repositório inteiro pela primeira vez do Gitea para a sua máquina de desenvolvimento. | | **🔄 Checkout to...** | `git checkout ` | Alterna entre ramificações de desenvolvimento (ex: mudar de `dev` para `main`) ou cria novas branches. | | **📡 Fetch** | `git fetch` | Consulta o Gitea para ver se há novidades no histórico, mas **não altera** o seu código atual. | --- ## 🛠️ 2. Explicação dos Submenus Avançados ### 💾 Commit (Submenu de Confirmação) * **O que faz**: Agrupa as suas alterações de código locais preparadas e cria um ponto na história (um "commit") com uma mensagem descritiva. * **Equivalente no terminal**: `git commit -m "sua mensagem"` * **Dica no VSCode**: Use o campo de texto superior para escrever a mensagem e clique no botão azul **Commit** para fazer tudo de uma vez. ### 🔀 Changes (Submenu de Alterações) * **O que faz**: Permite preparar os arquivos que farão parte do próximo commit. * Clicar no ícone de `+` ao lado do arquivo faz um `git add` (prepara o arquivo). * Clicar na seta curvada descarta as alterações locais daquele arquivo, voltando ele ao estado anterior. ### 🔄 Pull, Push (Submenu de Sincronização Avançada) * **O que faz**: Reúne ações combinadas como **Sync** (que executa sequencialmente um `pull` e depois um `push` para manter tudo perfeitamente sincronizado). ### 🌿 Branch (Submenu de Ramos) * **O que faz**: Permite gerenciar as suas ramificações de código. Você pode mesclar duas branches (fazer um `git merge`) ou deletar branches locais que já foram concluídas. ### 📦 Stash (Submenu de Gaveta Temporária) * **O que faz**: Se você está no meio de um desenvolvimento complexo, mas precisa trocar de branch imediatamente para corrigir um bug urgente, você usa o **Stash**. Ele guarda suas alterações não salvas em uma "gaveta temporária", limpa sua tela e, quando você voltar, basta dar um **Stash Pop** para recuperar seu trabalho exatamente de onde parou. * **Equivalente no terminal**: `git stash` e `git stash pop` ### 🏷️ Tags (Submenu de Etiquetas) * **O que faz**: Permite marcar versões específicas do seu sistema (ex: etiqueta `v1.0.0` ou `v2.4.1`) para identificar marcos de lançamentos oficiais. --- ## 🚀 3. Fluxo de Trabalho Diário Recomendado (GitOps) Para trabalhar de forma ágil na **VPS 4 (Dev)** integrada à **VPS 1 (Produção)** através do Webhook, utilize este fluxo visual direto no VSCode: ```mermaid graph LR A[1. Codificar] --> B[2. Preparar +] B --> C[3. Commit 💾] C --> D[4. Sync / Push 📤] D -->|Gitea Webhook| E[5. Deploy Automático VPS 1 ⚡] ``` 1. **Codifique**: Faça as alterações necessárias na VPS 4. 2. **Prepare**: No painel de controle de versão (Source Control), clique no botão de `+` ao lado de cada arquivo modificado para adicioná-los. 3. **Comite**: Digite uma mensagem clara no campo de texto (ex: `feat: adicionado controle de rotas`) e clique no botão azul **Commit**. 4. **Sincronize**: Clique no botão **Sync Changes** (ou no ícone de nuvem no rodapé esquerdo do VSCode). 5. **Acompanhe**: O Gitea disparará o Webhook que compilará o código na VPS 4 e enviará para a VPS 1 de forma automática em segundo plano. --- ## 📊 4. Comparativo: Quando usar a Tela do VSCode vs. Terminal? > [!TIP] > A interface do VSCode é amplamente recomendada para **95% do seu fluxo diário** devido ao seu apelo visual e proteção contra erros de digitação. | Tarefa | 🖥️ Interface Visual (VSCode) | 📟 Terminal | | :--- | :--- | :--- | | **Saber o que mudou no código** | **Excelente**: Mostra as diferenças de linhas lado a lado de forma colorida. | Ruim: Difícil de ler no console. | | **Add, Commit, Pull e Push** | **Excelente**: Reduz o trabalho a 3 cliques simples de mouse. | Bom: Rápido se você tiver agilidade de digitação. | | **Resolver Conflitos de Merge** | **Excelente**: O editor de conflitos destaca em cores o seu código e o do servidor, bastando clicar no botão para escolher qual manter. | Péssimo: Gera marcadores confusos no arquivo (`<<<<<<< HEAD`). | | **Ações de Reparo** (Ex: redefinir histórico) | Não recomendado. | **Excelente**: Comandos como `git reset --hard` ou rebase interativo exigem a precisão do terminal. | --- > [!IMPORTANT] > **Dica Diagnóstica (Show Git Output)**: > Se o sincronismo visual do VSCode travar ou falhar por causa da VPN, clique em **Show Git Output**. O painel mostrará o log do terminal do Git rodando em segundo plano, identificando rapidamente se o erro é de permissão de chave SSH ou de conexão de rede.