0%
Tutorial 5 de 10
50% concluído

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

AspectoGitGitHub
TipoFerramenta de controle de versãoPlataforma web
InstalaçãoLocal, na sua máquinaServiço na nuvem
InterfaceLinha de comandoInterface web + CLI
ColaboraçãoBásicaAvançada (PR, Issues, etc.)
HospedagemLocalNuvem
CustoGratuitoGratuito + planos pagos

Criação de uma conta no GitHub

Etapas de cadastro

  1. Acesse GitHub.com
  2. Clique em “Sign up”
  3. Preencha o formulário:
    • Username (nome de usuário único)
    • E-mail
    • Senha
  4. Verifique seu e-mail
  5. 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)

  1. Settings > Password and authentication
  2. Enable two-factor authentication
  3. Usar um aplicativo (Google Authenticator, Authy)
  4. 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

  1. Settings > Pages
  2. Escolha a fonte (branch main, docs/, etc.)
  3. 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
  • 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

  1. Título claro e descrição
  2. Instruções de instalação
  3. Exemplos de uso
  4. Diretrizes de contribuição
  5. 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