# Guia de Migração: GitHub para Forgejo Este guia documenta o processo padrão para migrar seus projetos existentes e novos para o repositório Forgejo da Rede5. ## 1. Autenticação (Passo Único) Como o servidor é privado, a melhor forma de autenticar é gerando um **Access Token**. 1. Acesse o Forgejo: [https://forgejo-gru.rede5.com.br/](https://forgejo-gru.rede5.com.br/) 2. Clique no seu Avatar (topo direito) -> **Configurações**. 3. Vá em **Aplicações** (Applications). 4. Gere um novo token (ex: "migration-token") e **copie-o**. > 💡 **Dica:** O token substitui sua senha nas operações de Git. --- ## 2. Migrando um Projeto Existente (GitHub -> Forgejo) Se você já tem o projeto no computador (clonado do GitHub): ### Opção A: Manter os dois repositórios (GitHub e Forgejo) Ideal para transição suave. Você mantém o `origin` (GitHub) e adiciona um novo (Forgejo). ```powershell # 1. Entre na pasta do projeto cd c:\caminho\do\projeto # 2. Adicione o novo remote (usando o token para não pedir senha) # Sintaxe: https://@forgejo-gru.rede5.com.br/rede5/.git git remote add forgero https://@forgejo-gru.rede5.com.br/rede5/.git # Exemplo real (substitua ): # git remote add forgero https://@forgejo-gru.rede5.com.br/rede5/gohorsejobs.git # 3. Envie o código git push forgero main # (Ou 'master', dependendo de como está sua branch principal) ``` ### Opção B: Mudar totalmente para o Forgejo Se não vai mais usar o GitHub. ```powershell # 1. Remova o vínculo com o GitHub (opcional, ou apenas renomeie) git remote remove origin # 2. Adicione o Forgejo como 'origin' (padrão) git remote add origin https://@forgejo-gru.rede5.com.br/rede5/.git # 3. Envie o código e defina o upstream padrão git push -u origin main ``` --- ## 3. Comandos Padrão do Dia a Dia Depois de configurado, o fluxo é o mesmo: | Ação | Comando | | :--- | :--- | | **Baixar atualizações** | `git pull forgero main` | | **Enviar alterações** | `git push forgero main` | | **Verificar remotes** | `git remote -v` | | **Criar nova branch** | `git checkout -b nova-feature` | | **Enviar nova branch** | `git push forgero nova-feature` | --- ## 4. Solução de Problemas Comuns ### Erro: `fatal: Authentication failed` * **Causa:** O Git não conseguiu logar. * **Solução:** Verifique se o token no comando `git remote add` está correto ou se expirou. * **Correção:** Atualize a URL com o token correto: ```powershell git remote set-url forgero https://@forgejo-gru.rede5.com.br/rede5/.git ``` ### Erro: `remote origin already exists` * **Causa:** Você tentou adicionar um remote (`origin`) que já existe. * **Solução:** Use outro nome (ex: `forgero`) ou mude a URL do existente. ```powershell # Adicionar com outro nome git remote add forgero # OU Alterar o existente git remote set-url origin ``` ### Erro: `refusing to merge unrelated histories` * **Causa:** Você criou o repositório no Forgejo com README/Licença e tentou subir um projeto local que já tinha esses arquivos. * **Solução:** ```powershell git pull forgero main --allow-unrelated-histories ```