Esta lição cobre os fundamentos do GitHub, uma plataforma para hospedar e gerenciar alterações em seu código.
Sketchnote por Tomomi Imura
Nesta lição vamos falar sobre:
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 aqui. Em seguida, configure seu perfil Git local no terminal:
git config --global user.name "your-name"
git config --global user.email "your-email"
Para verificar se o Git já está configurado, você pode digitar:
git config --list
Você também precisará de uma conta do GitHub, um editor de código (como o Visual Studio Code) e abrir seu terminal (ou: prompt de comando).
Navegue para github.com e crie uma conta, caso ainda não o tenha feito, ou faça login e preencha o seu perfil.
✅ O GitHub não é o único repositório de código do mundo; existem outros, mas o GitHub é o mais conhecido.
Você precisará de uma pasta com um projeto de código em sua máquina local (laptop ou PC) e de um repositório público no GitHub, que servirá como um exemplo de como contribuir com os projetos de outras pessoas.
Digamos que você tenha uma pasta localmente com algum projeto de código e deseja começar a monitorar seu progresso usando git - o sistema de controle de versão. Algumas pessoas comparam o uso do git a escrever uma carta de amor para o seu futuro eu. Lendo suas mensagens de commit dias, semanas ou meses depois, você será capaz de se lembrar por que tomou uma decisão, ou "reverter" uma mudança - isto é, quando você escreve boas "mensagens de commit".
Crie um repositório no GitHub. No GitHub.com, na guia de repositórios ou na barra de navegação superior direita, encontre o botão new repo .
Navegue até sua pasta de trabalho. Em seu terminal, mude para a pasta (também conhecida como diretório) que deseja iniciar o rastreamento. Digite:
cd [nome da sua pasta]
git init
git status
a saída pode ser parecida com esta:
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.txt
Geralmente o comando git status
diz a você coisas como quais arquivos estão prontos para serem salvos para o repo ou tem alterações que você pode querer persistir.
git add .
O argumento git add
plus .
indiciona todos os seus arquivos e alterações para rastreamento.
git add [nome do arquivo ou pasta]
Isso nos ajuda a adicionar apenas os arquivos selecionados à área de teste quando não queremos enviar todos os arquivos de uma vez.
git reset
Este comando nos ajuda a unstage todos os arquivos de uma vez.
git reset [nome do arquivo ou pasta]
Este comando nos ajuda a remover stage de apenas um arquivo específico de uma vez que não queremos incluir no próximo commit.
git commit
. Um commit representa um ponto na história do seu repo sendo salvo. Digite o seguinte para criar um commit: git commit -m "first commit"
Isso confirma todos os seus arquivos, adicionando a mensagem "first commit" (primeiro commit). Para mensagens de commit futuras, você desejará ser mais descritiva em sua descrição para transmitir que tipo de mudança você fez.
git remote add
fará exatamente isso. Digite o seguinte comando:Antes de digitar o comando, vá para a página do repositório GitHub para encontrar o URL do repositório. Você o usará no comando abaixo. Substitua
repository_name
pelo seu URL do GitHub.
git remote add origin https://github.com/username/repository_name.git
Isso cria um remote, ou conexão, chamada "origin" apontando para o repositório GitHub que você criou anteriormente.
git push
, assim: git push -u origin main
Isso envia seus commits em seu branch "principal" para o GitHub.
git add .
git commit -m "digite sua mensagem de commit aqui"
git push
Dica, você também pode adotar um arquivo
.gitignore
para evitar que arquivos que você não deseja rastrear apareçam no GitHub - como aquele arquivo de notas que você armazena na mesma pasta, mas não tem lugar em um repositório público. Você pode encontrar modelos para arquivos.gitignore
em modelos .gitignore.
Uma ótima mensagem de Git commit completa a seguinte frase: Se aplicado, este commit irá
Para o assunto use o tempo presente imperativo: "mudar" e não "mudou" nem "muda".
Assim como no sujeito, no corpo (opcional) também use o tempo presente imperativo. O corpo deve incluir a motivação para a mudança e contrastar isso com o comportamento anterior. Você está explicando o porquê
, não ocomo
.
✅ Reserve alguns minutos para navegar no GitHub. Você consegue encontrar uma mensagem de commit realmente ótima? Você pode encontrar uma ruim? Quais informações você acha que são as mais importantes e úteis para transmitir em uma mensagem de commit?
O principal motivo para colocar coisas no GitHub foi possibilitar a colaboração com outros desenvolvedores.
Em seu repositório, navegue até Insights> Community
para ver como seu projeto se compara aos padrões recomendados da comunidade.
Aqui estão algumas coisas que podem melhorar seu repositório GitHub:
Todos esses recursos irão beneficiar a integração de novos membros da equipe. E esses são normalmente o tipo de coisas que os novas pessoas colaboradoras olham antes mesmo de olhar para o seu código, para descobrir se o seu projeto é o lugar certo para elas passarem o tempo.
✅ Arquivos README, embora levem tempo para serem preparados, são freqüentemente negligenciados por pessoas mantenedores ocupadas. Você pode encontrar um exemplo particularmente descritivo? Nota: existem algumas ferramentas para ajudar a criar bons READMEs que você pode querer experimentar.
Documentos contribuintes ajudam as pessoas a contribuir para o projeto. Ele explica quais tipos de contribuições você está procurando e como funciona o processo. As pessoas colaboradoras precisarão seguir uma série de etapas para poder contribuir com seu repo no GitHub:
✅ Imagine uma situação em que os branches são particularmente críticos para escrever e distribuir bons códigos. Em quais casos de uso você consegue pensar?
Nota, seja a mudança que você deseja ver no mundo e crie ramificações para o seu próprio trabalho também. Todos os commits que você fizer serão feitos no branch em que você está atualmente “check-out”. Use
git status
para ver qual branch é.
Vamos analisar o fluxo de trabalho de uma pessoa colaboradora. Suponha que ela já forked e cloned o repo para que ela tenha um repositório Git pronto para ser trabalhado, em sua máquina local:
git branch
para criar um branch que conterá as mudanças que pretendem contribuir: git branch [branch-name]
git switch
: git switch [branch-name]
git add .
git commit -m "minhas mudancas"
Certifique-se de dar ao seu commit um bom nome, para seu bem e também para os mantenedores do repo no qual você está ajudando.
main
. Em algum ponto, você concluiu o trabalho e deseja combinar seu trabalho com o do branch principal
. O branch main
pode ter mudado enquanto isso, certifique-se de primeiro atualizá-lo para o mais recente com os seguintes comandos: git switch main
git pull
Neste ponto, você quer ter certeza de que quaisquer conflitos, situações em que o Git não pode combinar facilmente as mudanças aconteçam em seu branch de trabalho. Portanto, execute os seguintes comandos:
git switch [branch_name]
git merge main
Isso trará todas as mudanças de main
em seu branch e esperançosamente você pode simplesmente continuar. Caso contrário, o VS Code dirá onde o Git está confundido e você apenas alterará os arquivos afetados para dizer qual conteúdo é o mais preciso.
git push --set-upstream origin [branch-name]
O comando acima cria o branch em seu repositório bifurcado.
Abra um PR. Em seguida, você deseja abrir um PR. Você faz isso navegando até o repositório bifurcado no GitHub. Você verá uma indicação no GitHub onde pergunta se você deseja criar um novo PR, você clica nele e é levado a uma interface onde pode alterar o título da mensagem de commit, dê-lhe uma descrição mais adequada. Agora, a mantenedora do repo que você bifurcou verá este PR e dedos cruzados, eles apreciarão e mergirão seu PR. Agora você é uma pessoa contribuidora, eba :)
Limpeza. É considerado uma boa prática limpar após mesclar com sucesso um PR. Você deseja limpar seu branch local e o branch que você enviou para o GitHub. Primeiro, vamos excluí-lo localmente com o seguinte comando:
git branch -d [branch-name]
Em seguida, vá para a página GitHub do repositório bifurcado e remova o branch remoto que você acabou de enviar para ele.
Pull request
parece um termo bobo porque na verdade você deseja enviar suas alterações para o projeto. Mas a pessoa mantendo o repo ou equipe central precisa considerar suas mudanças antes de fundi-las com o branch "principal" do projeto, então você está realmente solicitando uma decisão de mudança de uma pessoa mantenedora.
Uma PR é o lugar para comparar e discutir as diferenças introduzidas em um branch com revisões, comentários, testes integrados e muito mais. Uma boa PR segue aproximadamente as mesmas regras de uma mensagem de commit. Você pode adicionar uma referência a um problema no rastreador de problemas, quando seu trabalho, por exemplo, corrige um problema. Isso é feito usando um #
seguido pelo número do seu problema. Por exemplo # 97
.
🤞 Dedos cruzados para que todas as verificações sejam aprovadas e as pessoas proprietárias do projeto deem merge nas suas alterações no projeto 🤞
Atualize seu branch de trabalho local atual com todos os novos commits do branch remoto correspondente no GitHub:
git pull
Primeiramente, vamos encontrar um repositório (ou repo) no GitHub de interesse para você e para o qual você gostaria de contribuir. Você vai querer copiar o conteúdo desse repo para a sua máquina.
✅ Uma boa maneira de encontrar repos 'iniciantes' é buscar usando a tag 'good-first-issue'.
Existem várias maneiras de copiar códigos. Uma maneira é "clonar" o conteúdo do repositório, usando HTTPS, SSH ou usando o GitHub CLI (Command Line Interface).
Abra seu terminal e clone o repositório assim:
git clone https://github.com/ProjectURL
Para trabalhar no projeto, mude para a pasta certa:
cd ProjectURL
Você também pode abrir todo o projeto usando Codespaces, O editor de código incorporado do GitHub/ ambiente de desenvolvimento em nuvem, ou o GitHub Desktop.
Por último, você pode baixar o código em uma pasta como .zip.
Você pode dar uma estrela, assistir e/ou "bifurcação" em qualquer repositório público no GitHub. Você pode encontrar seus repositórios estrelados no menu suspenso de cima para a direita. É como marcar, mas para código.
Os projetos têm um rastreador de problemas, no GitHub na aba "Problemas", a menos que indicado o contrário, onde as pessoas discutem questões relacionadas ao projeto. E a aba de Pull Requests é onde as pessoas discutem e analisam as mudanças que estão em andamento.
Os projetos também podem ter discussão em fóruns, listas de discussão ou canais de bate-papo como Slack, Discord ou IRC.
✅ Dê uma olhada no seu novo GitHub repo e experimente algumas coisas, como editar configurações, adicionar informações ao seu repo e criar um projeto (como uma placa Kanban). Há muita coisa que você pode fazer!
Parear com uma amiga para trabalhar no código uma da outra. Crie um projeto de forma colaborativa, de fork no código, crie branches e de merge mudanças.
Leia mais sobre contribuindo para o software de código aberto.
Pratique, pratique, pratique. GitHub tem ótimos caminhos de aprendizagem disponíveis via lab.github.com:
Você também encontrará laboratórios mais avançados.
Complete o lab a Primeira Semana gitHub