
Uma ferramenta Python simples e eficaz para enviar qualquer projeto para o GitHub em um único comando
O github_upload.py é um script Python autônomo que simplifica todo o processo de envio de projetos para o GitHub. Não importa se você é iniciante ou se apenas quer evitar digitar múltiplos comandos Git, este script automatiza tudo: desde a inicialização do repositório até o push final.
- 🚀 Tudo-em-Um: Gerencia o processo completo em uma única execução
- 🔄 Auto-Correção: Detecta e corrige configurações incorretas
- 🔐 Autenticação Flexível: Suporta tokens ou login interativo
- 📊 Feedback Visual: Mostra claramente o que está acontecendo em cada etapa
- 🌐 URL Inteligente: Formata corretamente a URL do GitHub em vários formatos
- 🔧 Sem Dependências: Utiliza apenas bibliotecas padrão do Python
- 📝 Mensagens Personalizadas: Permite personalizar a mensagem de commit
- Python 3.6 ou superior
- Git instalado e disponível na linha de comando
- Conexão com internet
- Acesso a uma conta do GitHub
- Baixe o arquivo
github_upload.py
para a pasta raiz do seu projeto - Execute o script incluindo a URL do repositório como argumento:
python github_upload.py https://github.com/seu-usuario/seu-repositorio.git
python github_upload.py https://github.com/seu-usuario/seu-repositorio.git "Sua mensagem de commit personalizada"
- Baixe o arquivo
github_upload.py
para a pasta raiz do seu projeto - Execute o script sem argumentos:
python github_upload.py
- Quando solicitado, insira a URL do seu repositório no GitHub
- Opcionalmente, forneça uma mensagem de commit personalizada
- Inicializa um repositório Git (se ainda não existir)
- Remove qualquer configuração anterior de "origin" (para evitar conflitos)
- Configura o remote "origin" com a URL correta do seu repositório
- Mostra todos os arquivos que serão enviados
- Adiciona todos os arquivos ao stage
- Realiza um commit com a mensagem personalizada ou padrão
- Detecta automaticamente a branch padrão (main ou master)
- Envia (push) para o GitHub
- Trata problemas de autenticação oferecendo opções para usar token ou login interativo
Se encontrar problemas de autenticação, o script oferece duas opções:
- Crie um token em: GitHub → Settings → Developer Settings → Personal Access Tokens → Tokens (classic)
- Certifique-se de que o token tenha permissão para o escopo "repo"
- Quando solicitado pelo script, insira o token gerado
- Deixe o campo de token em branco quando solicitado
- O Git solicitará seu nome de usuário e senha ou token
# Na pasta do seu projeto
$ python github_upload.py https://github.com/seu-usuario/novo-projeto.git "Primeira versão"
🚀 Iniciando upload para GitHub...
📂 Diretório atual: /caminho/para/seu/projeto
🔧 Inicializando repositório Git...
✅ Repositório Git inicializado
🔗 Configurando repositório remoto: https://github.com/seu-usuario/novo-projeto.git
📄 Arquivos a serem enviados:
A index.html
A style.css
A script.js
➕ Adicionando arquivos ao stage...
💾 Realizando commit: 'Primeira versão'
🔄 Enviando para branch 'main'...
✅ Push realizado com sucesso!
# Na pasta de um projeto já enviado anteriormente
$ python github_upload.py
URL do repositório GitHub: https://github.com/seu-usuario/projeto-existente.git
Mensagem de commit (deixe em branco para mensagem padrão): Atualização da documentação
🚀 Iniciando upload para GitHub...
📂 Diretório atual: /caminho/para/seu/projeto
✅ Já é um repositório Git
🔗 Configurando repositório remoto: https://github.com/seu-usuario/projeto-existente.git
📄 Arquivos a serem enviados:
M README.md
A docs/guia.md
➕ Adicionando arquivos ao stage...
💾 Realizando commit: 'Atualização da documentação'
🔄 Enviando para branch 'main'...
✅ Push realizado com sucesso!
- Envia todos os arquivos na pasta que não estão no
.gitignore
- Não gerencia branches diferentes da principal (main/master)
- Não resolve conflitos de merge automaticamente
- Suporte para seleção de arquivos específicos
- Gerenciamento de múltiplas branches
- Resolução de conflitos básicos
- Interface gráfica simples
- Opção para preservar configuração de remote existente
Este script é disponibilizado sob a licença MIT. Fique à vontade para usar, modificar e distribuir conforme necessário.
Contribuições são bem-vindas! Sinta-se à vontade para:
- Reportar bugs
- Sugerir melhorias
- Enviar pull requests
Desenvolvido por Am I Artificial Intelligence
