20 KiB
Introdução ao GitHub
Esta lição aborda os conceitos básicos do GitHub, uma plataforma para hospedar e gerenciar alterações no seu código.
Sketchnote por Tomomi Imura
Questionário Pré-Aula
Introdução
Nesta lição, abordaremos:
- como rastrear o trabalho que você faz na sua máquina
- como trabalhar em projetos com outras pessoas
- como contribuir para software de código aberto
Pré-requisitos
Antes de começar, você precisará verificar se o Git está instalado. No terminal, digite:
git --version
Se o Git não estiver instalado, baixe o Git. Em seguida, configure seu perfil local do Git no terminal:
git config --global user.name "seu-nome"git config --global user.email "seu-email"
Para verificar se o Git já está configurado, você pode digitar:
git config --list
Você também precisará de uma conta no GitHub, um editor de código (como o Visual Studio Code) e precisará abrir seu terminal (ou prompt de comando).
Acesse github.com e crie uma conta, se ainda não tiver uma, ou faça login e preencha seu perfil.
✅ O GitHub não é o único repositório de código no mundo; existem outros, mas o GitHub é o mais conhecido.
Preparação
Você precisará de uma pasta com um projeto de código na sua máquina local (laptop ou PC) e de um repositório público no GitHub, que servirá como exemplo de como contribuir para os projetos de outras pessoas.
Gerenciamento de código
Digamos que você tenha uma pasta localmente com algum projeto de código e queira começar a rastrear seu progresso usando o Git - o sistema de controle de versão. Algumas pessoas comparam usar o Git a escrever uma carta de amor para o seu "eu" do futuro. Ao ler suas mensagens de commit dias, semanas ou meses depois, você será capaz de lembrar por que tomou uma decisão ou "reverter" uma alteração - isso, claro, se você escrever boas "mensagens de commit".
Tarefa: Criar um repositório e fazer commit do código
Assista ao vídeo
-
Criar repositório no GitHub. No GitHub.com, na aba de repositórios ou na barra de navegação no canto superior direito, encontre o botão novo repositório.
- Dê um nome ao seu repositório (pasta).
- Selecione criar repositório.
-
Navegar até sua pasta de trabalho. No terminal, vá até a pasta (também conhecida como diretório) que você deseja começar a rastrear. Digite:
cd [name of your folder] -
Inicializar um repositório Git. No seu projeto, digite:
git init -
Verificar status. Para verificar o status do seu repositório, digite:
git statusA saída pode ser algo assim:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: file.txt modified: file2.txtNormalmente, o comando
git statusinforma coisas como quais arquivos estão prontos para serem salvos no repositório ou têm alterações que você pode querer persistir. -
Adicionar todos os arquivos para rastreamento Isso também é chamado de preparar arquivos/adicionar arquivos à área de preparação.
git add .O comando
git addcom o argumento.indica que todos os seus arquivos e alterações serão rastreados. -
Adicionar arquivos selecionados para rastreamento
git add [file or folder name]Isso nos ajuda a adicionar apenas arquivos selecionados à área de preparação quando não queremos fazer commit de todos os arquivos de uma vez.
-
Remover todos os arquivos da área de preparação
git resetEste comando nos ajuda a remover todos os arquivos da área de preparação de uma vez.
-
Remover um arquivo específico da área de preparação
git reset [file or folder name]Este comando nos ajuda a remover apenas um arquivo específico da área de preparação que não queremos incluir no próximo commit.
-
Persistir seu trabalho. Neste ponto, você adicionou os arquivos a uma chamada área de preparação. Um lugar onde o Git está rastreando seus arquivos. Para tornar a alteração permanente, você precisa fazer commit dos arquivos. Para isso, crie um commit com o comando
git commit. Um commit representa um ponto de salvamento no histórico do seu repositório. Digite o seguinte para criar um commit:git commit -m "first commit"Isso faz o commit de todos os seus arquivos, adicionando a mensagem "primeiro commit". Para mensagens de commit futuras, você vai querer ser mais descritivo na sua descrição para transmitir que tipo de alteração você fez.
-
Conectar seu repositório Git local ao GitHub. Um repositório Git é útil na sua máquina, mas em algum momento você vai querer ter um backup dos seus arquivos em algum lugar e também convidar outras pessoas para trabalhar com você no seu repositório. Um ótimo lugar para fazer isso é o GitHub. Lembre-se de que já criamos um repositório no GitHub, então a única coisa que precisamos fazer é conectar nosso repositório Git local ao GitHub. O comando
git remote addfará exatamente isso. Digite o seguinte comando:Nota: antes de digitar o comando, vá até a página do seu repositório no GitHub para encontrar a URL do repositório. Você usará essa URL no comando abaixo. Substitua
https://github.com/username/repository_name.gitpela URL do seu repositório no GitHub.git remote add origin https://github.com/username/repository_name.gitIsso cria um remote, ou conexão, chamado "origin", apontando para o repositório do GitHub que você criou anteriormente.
-
Enviar arquivos locais para o GitHub. Até agora, você criou uma conexão entre o repositório local e o repositório do GitHub. Vamos enviar esses arquivos para o GitHub com o seguinte comando
git push, assim:Nota: o nome do seu branch pode ser diferente do padrão
main.git push -u origin mainIsso envia seus commits no branch "main" para o GitHub. Configurar o branch
upstream, incluindo-uno comando, estabelece um link entre seu branch local e o branch remoto, para que você possa simplesmente usargit pushougit pullsem especificar o nome do branch no futuro. O Git usará automaticamente o branch upstream e você não precisará especificar o nome do branch explicitamente em comandos futuros. -
Para adicionar mais alterações. Se você quiser continuar fazendo alterações e enviando-as para o GitHub, só precisará usar os três comandos a seguir:
git add . git commit -m "type your commit message here" git pushDica: você também pode querer adotar um arquivo
.gitignorepara evitar que arquivos que você não deseja rastrear apareçam no GitHub - como aquele arquivo de anotações que você armazena na mesma pasta, mas que não tem lugar em um repositório público. Você pode encontrar modelos para arquivos.gitignoreem .gitignore templates.
Mensagens de commit
Uma ótima linha de assunto para um commit no Git completa a seguinte frase: Se aplicado, este commit irá
Para o assunto, use o imperativo no presente: "alterar" em vez de "alterado" ou "altera".
Assim como no assunto, no corpo (opcional) também use o imperativo no presente. O corpo deve incluir a motivação para a alteração e contrastar isso com o comportamento anterior. Você está explicando o porquê, não o como.
✅ Reserve alguns minutos para explorar o GitHub. Você consegue encontrar uma mensagem de commit realmente boa? E uma bem minimalista? Quais informações você acha que são mais importantes e úteis para transmitir em uma mensagem de commit?
Tarefa: Colaborar
O principal motivo para colocar coisas no GitHub foi possibilitar a colaboração com outros desenvolvedores.
Trabalhando em projetos com outras pessoas
Assista ao vídeo
No seu repositório, navegue até Insights > Community para ver como seu projeto se compara aos padrões recomendados para a comunidade.
Aqui estão algumas coisas que podem melhorar seu repositório no GitHub:
- Descrição. Você adicionou uma descrição para o seu projeto?
- README. Você adicionou um README? O GitHub fornece orientações para escrever um README.
- Diretrizes de contribuição. Seu projeto tem diretrizes de contribuição?
- Código de Conduta. Um Código de Conduta.
- Licença. Talvez o mais importante, uma licença?
Todos esses recursos beneficiarão a integração de novos membros da equipe. E essas são, geralmente, as coisas que novos contribuidores olham antes mesmo de olhar para o seu código, para descobrir se o seu projeto é o lugar certo para eles investirem seu tempo.
✅ Arquivos README, embora levem tempo para serem preparados, são frequentemente negligenciados por mantenedores ocupados. Você consegue encontrar um exemplo de um particularmente descritivo? Nota: existem algumas ferramentas para ajudar a criar bons READMEs que você pode querer experimentar.
Tarefa: Fazer merge de algum código
Documentos de contribuição ajudam as pessoas a contribuir para o projeto. Eles explicam quais tipos de contribuições você está procurando e como o processo funciona. Os contribuidores precisarão passar por uma série de etapas para poder contribuir para o seu repositório no GitHub:
- Fazer fork do seu repositório. Você provavelmente vai querer que as pessoas façam fork do seu projeto. Fazer fork significa criar uma réplica do seu repositório no perfil do GitHub delas.
- Clonar. A partir daí, elas irão clonar o projeto para suas máquinas locais.
- Criar um branch. Você vai querer pedir que elas criem um branch para o trabalho delas.
- Focar a alteração em uma área. Peça aos contribuidores que concentrem suas contribuições em uma coisa de cada vez - assim, as chances de você conseguir fazer merge do trabalho deles são maiores. Imagine que eles escrevam uma correção de bug, adicionem um novo recurso e atualizem vários testes - e se você quiser, ou puder, implementar apenas 2 de 3, ou 1 de 3 alterações?
✅ Imagine uma situação em que branches são particularmente críticos para escrever e entregar um bom código. Quais casos de uso você consegue pensar?
Nota: seja a mudança que você quer ver no mundo e crie branches para o seu próprio trabalho também. Qualquer commit que você fizer será feito no branch em que você está atualmente "checado". Use
git statuspara ver em qual branch você está.
Vamos passar por um fluxo de trabalho de contribuidor. Suponha que o contribuidor já tenha feito fork e clonado o repositório, então ele tem um repositório Git pronto para ser trabalhado em sua máquina local:
-
Criar um branch. Use o comando
git branchpara criar um branch que conterá as alterações que ele pretende contribuir:git branch [branch-name] -
Mudar para o branch de trabalho. Mude para o branch especificado e atualize o diretório de trabalho com
git switch:git switch [branch-name] -
Fazer o trabalho. Neste ponto, você quer adicionar suas alterações. Não se esqueça de informar ao Git sobre isso com os seguintes comandos:
git add . git commit -m "my changes"Certifique-se de dar um bom nome ao seu commit, para o seu bem e para o mantenedor do repositório que você está ajudando.
-
Combinar seu trabalho com o branch
main. Em algum momento, você termina o trabalho e quer combinar seu trabalho com o do branchmain. O branchmainpode ter mudado nesse meio tempo, então certifique-se de primeiro atualizá-lo para a versão mais recente com os seguintes comandos:git switch main git pullNeste ponto, você quer garantir que quaisquer conflitos, situações em que o Git não consegue facilmente combinar as alterações, ocorram no seu branch de trabalho. Portanto, execute os seguintes comandos:
git switch [branch_name] git merge mainO comando
git merge maintrará todas as alterações domainpara o seu branch. Esperançosamente, você pode simplesmente continuar. Caso contrário, o VS Code informará onde o Git está confuso e você apenas altera os arquivos afetados para indicar qual conteúdo é o mais preciso.Para mudar para um branch diferente, use o comando moderno
git switch:git switch [branch_name] -
Enviar seu trabalho para o GitHub. Enviar seu trabalho para o GitHub significa duas coisas: enviar seu branch para o seu repositório e, em seguida, abrir um PR (Pull Request).
git push --set-upstream origin [branch-name]O comando acima cria o branch no seu repositório que foi feito fork.
-
Abra um PR. Agora você vai querer abrir um PR. Para isso, navegue até o repositório que você fez o fork no GitHub. Você verá uma indicação no GitHub perguntando se deseja criar um novo PR. Clique nela e você será levado a uma interface onde pode alterar o título da mensagem de commit e dar uma descrição mais adequada. Agora, o mantenedor do repositório que você fez o fork verá este PR e, dedos cruzados, ele irá apreciar e mesclar seu PR. Parabéns, você agora é um colaborador, yay :)
-
Limpeza. É considerado uma boa prática limpar depois de mesclar com sucesso um PR. Você deve limpar tanto sua branch local quanto a branch que você enviou para o GitHub. Primeiro, vamos deletá-la localmente com o seguinte comando:
git branch -d [branch-name]Certifique-se de ir à página do GitHub do repositório que você fez o fork e remover a branch remota que você acabou de enviar.
Pull request parece um termo estranho porque, na verdade, você quer enviar suas alterações para o projeto. Mas o mantenedor (dono do projeto) ou a equipe principal precisa considerar suas alterações antes de mesclá-las com a branch "main" do projeto. Então, você está realmente solicitando uma decisão de alteração de um mantenedor.
Um pull request é o lugar para comparar e discutir as diferenças introduzidas em uma branch com revisões, comentários, testes integrados e mais. Um bom pull request segue aproximadamente as mesmas regras de uma mensagem de commit. Você pode adicionar uma referência a um problema no rastreador de problemas, por exemplo, quando seu trabalho resolve um problema. Isso é feito usando um # seguido pelo número do problema. Por exemplo, #97.
🤞Dedos cruzados para que todos os testes passem e o(s) dono(s) do projeto mesclem suas alterações no projeto🤞
Atualize sua branch local de trabalho atual com todos os novos commits da branch remota correspondente no GitHub:
git pull
Como contribuir para open source
Primeiro, vamos encontrar um repositório (ou repo) no GitHub que seja do seu interesse e para o qual você gostaria de contribuir com uma alteração. Você vai querer copiar seu conteúdo para sua máquina.
✅ Uma boa maneira de encontrar repositórios 'amigáveis para iniciantes' é buscar pela tag 'good-first-issue'.
Existem várias maneiras de copiar código. Uma delas é "clonar" o conteúdo do repositório, usando HTTPS, SSH ou o GitHub CLI (Interface de Linha de Comando).
Abra seu terminal e clone o repositório assim:
git clone https://github.com/ProjectURL
Para trabalhar no projeto, mude para a pasta correta:
cd ProjectURL
Você também pode abrir o projeto inteiro usando Codespaces, o editor de código integrado / ambiente de desenvolvimento em nuvem do GitHub, ou GitHub Desktop.
Por fim, você pode baixar o código em uma pasta compactada.
Algumas coisas interessantes sobre o GitHub
Você pode dar estrela, seguir e/ou "fazer fork" de qualquer repositório público no GitHub. Você pode encontrar seus repositórios com estrela no menu suspenso no canto superior direito. É como adicionar aos favoritos, mas para código.
Os projetos têm um rastreador de problemas, geralmente no GitHub na aba "Issues", a menos que indicado de outra forma, onde as pessoas discutem problemas relacionados ao projeto. E a aba Pull Requests é onde as pessoas discutem e revisam alterações que estão em andamento.
Os projetos também podem ter discussões em fóruns, listas de e-mails ou canais de chat como Slack, Discord ou IRC.
✅ Dê uma olhada no seu novo repositório no GitHub e experimente algumas coisas, como editar configurações, adicionar informações ao seu repositório e criar um projeto (como um quadro Kanban). Há muito o que explorar!
🚀 Desafio
Trabalhe em parceria com um amigo no código um do outro. Crie um projeto colaborativo, faça fork do código, crie branches e mescle alterações.
Quiz Pós-Aula
Revisão e Autoestudo
Leia mais sobre como contribuir para software open source.
Pratique, pratique, pratique. O GitHub tem ótimos caminhos de aprendizado disponíveis via skills.github.com:
Você também encontrará cursos mais avançados.
Tarefa
Complete o curso Primeira Semana no GitHub
Aviso Legal:
Este documento foi traduzido utilizando o serviço de tradução por IA Co-op Translator. Embora nos esforcemos para garantir a precisão, é importante estar ciente de que traduções automatizadas podem conter erros ou imprecisões. O documento original em seu idioma nativo deve ser considerado a fonte oficial. Para informações críticas, recomenda-se a tradução profissional realizada por humanos. Não nos responsabilizamos por quaisquer mal-entendidos ou interpretações equivocadas decorrentes do uso desta tradução.



