Acesso ao Servidor Git (Forgejo)
O servidor Git corporativo utiliza Forgejo (compatível com GitHub) e é acessível apenas via VPN.
🔗 Informações de Acesso
| Atributo | Valor |
|---|---|
| URL | https://engenharia-git.bitio.com.br |
| Acesso | Apenas via VPN |
| Engine | Forgejo (GitHub-compatible) |
| SSH Port | 2223 |
📋 Pré-requisitos
- ✅ VPN configurada e conectada
- ✅ Arquivo
/etc/hostsconfigurado - ✅ Conta criada no Forgejo
⚙️ Configuração Inicial
1. Configurar /etc/hosts (Obrigatório)
Linux/Ubuntu/macOS:
echo "172.31.11.156 engenharia-git.bitio.com.br" | sudo tee -a /etc/hosts
Windows (como Administrador):
echo 172.31.11.156 engenharia-git.bitio.com.br >> C:\Windows\System32\drivers\etc\hosts
2. Verificar Configuração
# Testar resolução DNS
nslookup engenharia-git.bitio.com.br
# Deve retornar: 172.31.11.156
# Sem VPN (deve falhar)
curl -I https://engenharia-git.bitio.com.br/
# Erro: Connection refused ✅
# Com VPN (deve funcionar)
curl -I https://engenharia-git.bitio.com.br/
# HTTP/2 200 ✅
🌐 Acesso via Navegador
- Conectar VPN
- Acessar:
https://engenharia-git.bitio.com.br - Login com suas credenciais Forgejo
- Interface idêntica ao GitHub
🔑 Configuração SSH
Gerar Chave SSH (se não tiver)
ssh-keygen -t ed25519 -C "seu.email@bitio.com.br"
Adicionar Chave no Forgejo
- Copiar chave pública:
cat ~/.ssh/id_ed25519.pub
- Forgejo → Settings → SSH / GPG Keys
- Add Key → Colar chave pública
Configurar SSH Local
# Configurar SSH para usar porta customizada
cat >> ~/.ssh/config << 'EOF'
Host engenharia-git.bitio.com.br
HostName engenharia-git.bitio.com.br
Port 2223
User git
IdentityFile ~/.ssh/id_ed25519
EOF
Testar SSH
# Com VPN conectada
ssh -T git@engenharia-git.bitio.com.br
# Deve retornar:
# Hi username! You've successfully authenticated, but Forgejo does not provide shell access.
📦 Trabalhando com Repositórios
Clone via HTTPS
git clone https://engenharia-git.bitio.com.br/organization/repository.git
Clone via SSH
git clone git@engenharia-git.bitio.com.br:organization/repository.git
Configuração Global Git
# Configurar usuário globalmente
git config --global user.name "Seu Nome"
git config --global user.email "seu.email@bitio.com.br"
# Configurar editor padrão
git config --global core.editor "code --wait" # VS Code
git config --global core.editor "nano" # Nano
🔄 Workflow Típico
Fluxo Básico
# 1. Conectar VPN
sudo openvpn --config arquivo.ovpn
# 2. Clone do projeto
git clone git@engenharia-git.bitio.com.br:bitio/meu-projeto.git
cd meu-projeto
# 3. Criar branch para feature
git checkout -b feature/nova-funcionalidade
# 4. Fazer alterações e commit
git add .
git commit -m "feat: implementar nova funcionalidade"
# 5. Push da branch
git push origin feature/nova-funcionalidade
# 6. Criar Pull Request no Forgejo
# Via interface web: https://engenharia-git.bitio.com.br
Sincronizar com Main
# Atualizar main local
git checkout main
git pull origin main
# Fazer rebase da sua branch
git checkout feature/minha-branch
git rebase main
# Push forçado (após rebase)
git push --force-with-lease origin feature/minha-branch
📊 Recursos Disponíveis
Interface Web
- ✅ Repositórios - Navegação de código
- ✅ Issues - Rastreamento de bugs/tarefas
- ✅ Pull Requests - Code review
- ✅ Wiki - Documentação interna
- ✅ Releases - Gerenciamento de versões
- ✅ Actions - CI/CD (se configurado)
Integração com IDEs
# VS Code - extensões recomendadas
code --install-extension ms-vscode.vscode-git
code --install-extension github.vscode-pull-request-github
🔍 Solução de Problemas
Git clone falha
# Verificar VPN
ip addr show tun0
# Verificar hosts
grep "engenharia-git" /etc/hosts
# Testar conectividade
curl -I https://engenharia-git.bitio.com.br/
SSH não conecta
# Verificar configuração SSH
ssh -vT git@engenharia-git.bitio.com.br
# Verificar chave SSH
ssh-add -l
# Recarregar chave se necessário
ssh-add ~/.ssh/id_ed25519
"Permission denied" no push
# Verificar se é membro do repositório
# Solicitar acesso ao admin
# Verificar URL do remote
git remote -v
# Se necessário, alterar para SSH
git remote set-url origin git@engenharia-git.bitio.com.br:org/repo.git
Produtividade
Mantenha a VPN sempre conectada durante desenvolvimento. Configure aliases Git para comandos frequentes e use SSH para melhor performance.
Segurança
Nunca commite credenciais, chaves API ou senhas. Use variáveis de ambiente e arquivos .env (incluídos no .gitignore).