> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usando o painel Git

> Saiba como usar o painel Git para controle de versão, gerenciamento de branches e colaboração no Editor de Projetos.

O painel Git no Replit oferece uma interface visual para operações do Git, eliminando a necessidade de usar comandos Git na linha de comando. Esse recurso torna o controle de versão acessível para principiantes, mantendo-se poderoso para desenvolvedores experientes.

## Recursos

O painel Git oferece recursos completos de controle de versão diretamente no Editor de Projetos, com uma interface intuitiva que simplifica operações complexas do Git.

* **Gerenciamento de repositórios**: inicialize, conecte e gerencie repositórios Git com integração ao GitHub
* **Rastreamento de commits**: prepare (stage), faça commit e visualize alterações em todos os seus arquivos
* **Operações de branch**: crie, alterne entre e mescle branches visualmente
* **Resolução de conflitos**: identifique e resolva conflitos de merge com assistência visual
* **Integração com o Shell**: sincronização entre comandos Git executados no Shell e o painel Git

## Uso

### Configuração do repositório

<Accordion title="Como acessar o painel Git">
  1. Navegue até a seção Tools no seu Replit App
  2. Selecione o sinal de **+** para adicionar novas ferramentas
  3. Selecione **Git** na lista de ferramentas disponíveis
</Accordion>

O painel Git ajuda você a configurar e conectar seu repositório:

* **Initialize repository**: crie um novo repositório Git para seu Replit App
* **Connect to GitHub**: vincule seu repositório ao GitHub para backup e colaboração
* **Configure remote**: configure e gerencie a conexão com seu repositório no GitHub

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/01-git-pane.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=8173abb36daae9b8f60646cf259bf0dc" alt="Painel Git mostrando o botão para inicializar o repositório" width="230" height="314" data-path="images/gh/pane/01-git-pane.png" />
</Frame>

### Gerenciamento de alterações

<Accordion title="Como visualizar alterações">
  1. Faça alterações em qualquer arquivo do seu Replit App
  2. Abra o painel Git na seção Tools
  3. Revise as alterações na seção **Review Changes**
</Accordion>

O painel Git oferece ferramentas para gerenciar suas alterações de código:

* **Review changes**: veja os arquivos modificados com adições e exclusões destacadas
* **Stage files**: selecione arquivos específicos para incluir no seu próximo commit
* **Commit changes**: salve suas alterações com mensagens descritivas
* **Push updates**: envie seus commits para o GitHub com um único clique

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/06-stage-commit-changes.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=bf166d48de3a57be08343b79ea5ff900" alt="Painel Git mostrando o campo de mensagem de commit e as opções de stage" width="526" height="211" data-path="images/gh/pane/06-stage-commit-changes.png" />
</Frame>

<Note>
  Você pode usar o Replit AI para ajudar a gerar mensagens de commit que descrevem com precisão suas alterações.
</Note>

### Gerenciamento de branches

<Accordion title="Como gerenciar branches">
  1. Abra o painel Git na seção Tools
  2. Selecione o menu suspenso de branch ao lado do nome do branch
  3. Crie um novo branch ou selecione um existente
</Accordion>

O painel Git simplifica o trabalho com múltiplas versões do seu código:

* **Create branches**: crie novos branches para desenvolver funcionalidades separadamente
* **Switch branches**: alterne entre diferentes versões do seu código
* **Publish branches**: compartilhe seus branches no GitHub
* **Pull changes**: sincronize com atualizações remotas de colaboradores

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/08-new-branch.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=a9cab3e787687b8fbbf11103b8b86b20" alt="Painel Git mostrando a interface de criação de branch" width="526" height="83" data-path="images/gh/pane/08-new-branch.png" />
</Frame>

### Resolução de conflitos de merge

<Accordion title="Como resolver conflitos de merge">
  1. Tente fazer pull das alterações quando houver conflitos
  2. O painel Git destacará os arquivos em conflito
  3. Abra cada arquivo em conflito para ver e resolver os conflitos
  4. Salve os arquivos após resolver os conflitos
  5. Conclua o merge selecionando **Pull**
</Accordion>

Quando o código de fontes diferentes entra em conflito, o painel Git ajuda você a:

* **Identify conflicts**: veja exatamente quais arquivos contêm conflitos
* **Visualize differences**: revise as duas versões do código em conflito
* **Resolve issues**: escolha qual código manter ou edite manualmente os conflitos
* **Finalize merges**: conclua o processo de merge após resolver os conflitos

<Frame>
  <img src="https://mintcdn.com/replit/rBzGsKp9NcWJ7sib/images/gh/pane/11-merge-conflict.png?fit=max&auto=format&n=rBzGsKp9NcWJ7sib&q=85&s=f02773231068c03053c9c80d75ded53f" alt="Editor de código mostrando marcadores de conflito de merge" width="526" height="108" data-path="images/gh/pane/11-merge-conflict.png" />
</Frame>

Depois de resolver um arquivo em conflito, você pode remover os marcadores de conflito excluindo as linhas que começam com os símbolos de conflito e salvando o arquivo.

### Usando comandos Git no Shell

<Accordion title="Como acessar o Shell">
  1. Selecione **All tools** no Tool dock à esquerda
  2. Selecione **Shell** entre as ferramentas disponíveis
</Accordion>

<Tip>
  Embora o painel Git ofereça uma interface intuitiva, usuários avançados podem usar comandos Git padrão no Shell para operações mais complexas. Alterações feitas por qualquer um dos dois métodos serão refletidas em ambos os lugares.
</Tip>

Se você preferir usar o Git pela linha de comando:

* **Sincronização de comandos**: qualquer comando Git executado no Shell sincroniza automaticamente com o painel Git
* **Funcionalidade completa do Git**: acesse recursos avançados do Git não disponíveis no painel Git
* **Alternância contínua**: alterne entre usar comandos do Shell e o painel Git conforme necessário

<Info>
  **Suporte à CLI do GitHub e do GitLab**: além dos comandos padrão do Git, você também pode usar a [CLI do GitHub](https://docs.github.com/en/github-cli) (`gh`) e a [CLI do GitLab](https://docs.gitlab.com/ee/editor_extensions/gitlab_cli/) (`glab`) no Shell para gerenciar e se conectar a repositórios Git externos. Essas ferramentas oferecem funcionalidades avançadas para trabalhar com repositórios do GitHub e do GitLab, incluindo pull requests, issues e outros recursos específicos das plataformas.
</Info>

#### Operações de repositório

* **Clone repository**: `git clone <url-to-repository>`
* **Initialize repository**: `git init`
* **Add remote**: `git remote add origin <url-to-repository>`

#### Fazendo alterações

* **Check status**: `git status` (mostra arquivos modificados, adicionados e excluídos)
* **Stage files**: `git add <filename>` ou `git add .` (para todos os arquivos)
* **Commit changes**: `git commit -m "your commit message"`
* **Push changes**: `git push origin <branch-name>`
* **Pull changes**: `git pull origin <branch-name>`

#### Autenticação

Ao trabalhar com repositórios privados, você precisará se autenticar:

* Para repositórios do GitHub, use um token de acesso pessoal em vez da sua senha
* Para evitar reinserir credenciais, você pode armazená-las usando o Replit Secrets:
  1. Crie um novo secret com a chave `GIT_URL`
  2. Defina o valor como `https://<username>:<token>@github.com/<user-or-org>/<repository>`
  3. Use `git push $GIT_URL` para enviar sem digitar credenciais

<Note>
  Ao usar secrets de credenciais, qualquer pessoa com acesso ao seu Replit App pode potencialmente acessar suas credenciais do Git. Para repositórios sensíveis, considere inserir as credenciais manualmente a cada vez.
</Note>
