Introdução ao GitHub
Conheça o GitHub, crie sua conta e aprenda a usar essa plataforma para hospedar seus projetos.
Introdução ao GitHub
O GitHub é a plataforma de desenvolvimento colaborativo mais popular do mundo. Construída em torno do Git, ela oferece ferramentas poderosas para hospedar, compartilhar e colaborar em projetos de código. Este tutorial vai guiá-lo nos seus primeiros passos no GitHub.
O que é o GitHub?
O GitHub é uma plataforma web que usa o Git para controle de versão e adiciona recursos colaborativos:
- Hospedagem de repositórios: armazenamento na nuvem dos seus projetos Git
- Interface web: gerenciamento visual dos seus repositórios
- Colaboração: ferramentas para trabalhar em equipe
- Integração contínua: GitHub Actions para automação
- Gerenciamento de projetos: Issues, milestones, projetos
- Documentação: Wiki, README, GitHub Pages
GitHub vs Git
| Aspecto | Git | GitHub |
|---|---|---|
| Tipo | Ferramenta de controle de versão | Plataforma web |
| Instalação | Local, na sua máquina | Serviço na nuvem |
| Interface | Linha de comando | Interface web + CLI |
| Colaboração | Básica | Avançada (PR, Issues, etc.) |
| Hospedagem | Local | Nuvem |
| Custo | Gratuito | Gratuito + planos pagos |
Criação de uma conta no GitHub
Etapas de cadastro
- Acesse GitHub.com
- Clique em “Sign up”
- Preencha o formulário:
- Username (nome de usuário único)
- Senha
- Verifique seu e-mail
- Escolha seu plano (Free para começar)
Configuração do perfil
# Elementos importantes do perfil
- Foto de perfil profissional
- Bio descritiva
- Localização
- Site web/portfólio
- Links para redes sociais
Interface do GitHub
Página inicial
- Dashboard: atividade dos seus repositórios e organizações
- Repositories: lista dos seus repositórios
- Notifications: atividade nos seus projetos
- Explore: descobrir novos projetos
Página de repositório
username/repository-name
├── Code (arquivos e pastas)
├── Issues (problemas e solicitações)
├── Pull requests (propostas de modificações)
├── Actions (CI/CD)
├── Projects (gerenciamento de projeto)
├── Wiki (documentação)
├── Security (segurança)
├── Insights (estatísticas)
└── Settings (configurações)
Criação do seu primeiro repositório
Método 1: criar no GitHub e depois clonar
# 1. Criar o repositório no GitHub.com
# 2. Clonar localmente
git clone https://github.com/username/mon-projet.git
cd mon-projet
# 3. Adicionar conteúdo
echo "# Mon Premier Projet" > README.md
git add README.md
git commit -m "Initial commit"
git push origin main
Método 2: criar localmente e depois enviar
# 1. Criar o projeto localmente
mkdir mon-projet
cd mon-projet
git init
echo "# Mon Premier Projet" > README.md
git add README.md
git commit -m "Initial commit"
# 2. Adicionar o remote do GitHub
git remote add origin https://github.com/username/mon-projet.git
git branch -M main
git push -u origin main
Comandos Git com o GitHub
Configuração dos remotes
# Ver os remotes configurados
git remote -v
# Adicionar um remote
git remote add origin https://github.com/username/repo.git
# Modificar a URL de um remote
git remote set-url origin https://github.com/username/nouveau-repo.git
# Remover um remote
git remote remove origin
Push e Pull
# Enviar para o GitHub
git push origin main
# Enviar uma nova branch
git push -u origin feature/nouvelle-fonctionnalite
# Obter as modificações
git pull origin main
# Obter sem fazer merge
git fetch origin
Tipos de repositórios
Repositórios públicos
- Visíveis para todos
- Gratuitos no GitHub
- Ideais para open source
- Contribuem para o seu perfil
Repositórios privados
- Visíveis apenas para você e seus colaboradores
- Gratuitos com limitações
- Perfeitos para projetos comerciais
- Controle de acesso granular
Arquivos especiais do GitHub
README.md
O arquivo README é exibido na página inicial do repositório:
# Nom du Projet
Description courte du projet.
## Installation
```bash
npm install
Utilisation
npm start
Contribution
Les contributions sont les bienvenues ! Voir CONTRIBUTING.md.
Licence
Ce projet est sous licence MIT - voir LICENSE pour plus de détails.
### .gitignore
O GitHub oferece templates de .gitignore para diferentes linguagens:
```bash
# Node.js
node_modules/
npm-debug.log*
.env
# Python
__pycache__/
*.pyc
.venv/
# Java
*.class
target/
LICENSE
Escolha uma licença apropriada:
- MIT: muito permissiva
- Apache 2.0: permissiva, com proteção de patentes
- GPL v3: copyleft forte
- BSD: permissiva simples
GitHub CLI
A ferramenta de linha de comando oficial do GitHub:
Instalação
# Windows (com Chocolatey)
choco install gh
# macOS (com Homebrew)
brew install gh
# Linux (Ubuntu/Debian)
sudo apt install gh
Autenticação
# Conectar-se ao GitHub
gh auth login
# Verificar a autenticação
gh auth status
Comandos úteis
# Criar um repositório
gh repo create mon-projet --public
# Clonar um repositório
gh repo clone username/repository
# Ver as issues
gh issue list
# Criar uma issue
gh issue create --title "Bug trouvé" --body "Description du bug"
# Ver as pull requests
gh pr list
# Criar uma pull request
gh pr create --title "Nouvelle fonctionnalité" --body "Description"
Gerenciamento de acessos
Colaboradores
# Adicionar um colaborador (pela interface web)
Settings > Manage access > Invite a collaborator
Equipes e organizações
- Organizações: reunir vários repositórios
- Equipes: gerenciar permissões por grupo
- Funções: Owner, Member, Outside collaborator
Segurança no GitHub
Autenticação de dois fatores (2FA)
- Settings > Password and authentication
- Enable two-factor authentication
- Usar um aplicativo (Google Authenticator, Authy)
- Guardar os códigos de recuperação
Chaves SSH
Configuração para evitar digitar a senha:
# Gerar uma chave SSH
ssh-keygen -t ed25519 -C "votre.email@example.com"
# Adicionar a chave ao agente SSH
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Copiar a chave pública
cat ~/.ssh/id_ed25519.pub
# Adicionar no GitHub: Settings > SSH and GPG keys
Personal Access Tokens
Para autenticação via HTTPS:
# Gerar um token: Settings > Developer settings > Personal access tokens
# Usar o token como senha
git clone https://github.com/username/repo.git
# Username: votre-username
# Password: votre-token
GitHub Pages
Hospede sites web estáticos gratuitamente:
Ativação
- Settings > Pages
- Escolha a fonte (branch main, docs/, etc.)
- Seu site estará disponível em:
https://username.github.io/repository
Exemplo de site simples
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<title>Mon Site GitHub Pages</title>
</head>
<body>
<h1>Bienvenue sur mon site !</h1>
<p>Hébergé gratuitement sur GitHub Pages.</p>
</body>
</html>
Exercícios práticos
Exercício 1: primeiro repositório
# 1. Criar um repositório no GitHub.com chamado "hello-github"
# 2. Clonar localmente
git clone https://github.com/VOTRE-USERNAME/hello-github.git
cd hello-github
# 3. Criar um README
echo "# Hello GitHub" > README.md
echo "Mon premier projet sur GitHub !" >> README.md
# 4. Adicionar e enviar
git add README.md
git commit -m "Add README"
git push origin main
Exercício 2: projeto com estrutura
# 1. Criar a estrutura
mkdir src docs tests
echo "console.log('Hello World!');" > src/app.js
echo "# Documentation" > docs/README.md
echo "// Tests à venir" > tests/app.test.js
# 2. Criar um .gitignore
echo "node_modules/" > .gitignore
echo "*.log" >> .gitignore
# 3. Adicionar tudo e enviar
git add .
git commit -m "Initial project structure"
git push origin main
Exercício 3: GitHub Pages
# 1. Criar um site simples
echo "<!DOCTYPE html>
<html>
<head><title>Mon Site</title></head>
<body><h1>Hello GitHub Pages!</h1></body>
</html>" > index.html
# 2. Enviar
git add index.html
git commit -m "Add GitHub Pages site"
git push origin main
# 3. Ativar o GitHub Pages em Settings
# 4. Visitar https://VOTRE-USERNAME.github.io/VOTRE-REPO
Descoberta de projetos
Pesquisa avançada
# Sintaxe de pesquisa do GitHub
language:javascript stars:>1000
user:microsoft language:typescript
org:facebook created:>2020-01-01
Trending
- Explore > Trending: projetos populares
- Filtrar por linguagem e período
- Descobrir novas tecnologias
Topics e tags
- Organizar os repositórios por assunto
- Facilitar a descoberta
- Exemplos:
web-development,machine-learning,api
Boas práticas
README eficaz
- Título claro e descrição
- Instruções de instalação
- Exemplos de uso
- Diretrizes de contribuição
- Licença e contato
Commits e mensagens
# Mensagens claras e descritivas
git commit -m "feat: add user authentication"
git commit -m "fix: resolve login bug on mobile"
git commit -m "docs: update API documentation"
Organização dos repositórios
- Um repositório por projeto
- Nomes descritivos
- Tags para as versões
- Branches organizadas
Integrações populares
Serviços de terceiros
- Travis CI: integração contínua
- Codecov: cobertura de código
- Dependabot: atualização de dependências
- Slack/Discord: notificações
GitHub Apps
- GitHub Desktop: interface gráfica
- VS Code: extensão do GitHub
- Apps mobile: GitHub para iOS/Android
Solução de problemas comuns
Problemas de autenticação
# Verificar a configuração
git config --list | grep user
# Testar a conexão SSH
ssh -T git@github.com
# Redefinir as credenciais
git config --global --unset user.name
git config --global --unset user.email
Erros de push
# Erro: Updates were rejected
git pull origin main
git push origin main
# Forçar o push (CUIDADO)
git push --force-with-lease origin main
Recursos adicionais
Documentação oficial
Comunidade
Conclusão
O GitHub transforma o Git em uma poderosa plataforma colaborativa. Dominar o GitHub abre as portas da colaboração moderna e do open source. É uma ferramenta essencial para qualquer desenvolvedor.
No próximo tutorial, vamos aprofundar a colaboração no GitHub com pull requests, issues e outras ferramentas colaborativas.
Tempo de leitura estimado: 20 minutos
Nível: Iniciante
Etapa anterior: Branches e merge
Próxima etapa: Colaboração com o GitHub