You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/br/1-getting-started-lessons/2-github-basics/README.md

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.

Introdução ao GitHub

Sketchnote por Tomomi Imura

Questionário Pré-Aula

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

Vídeo básico sobre Git e GitHub

  1. 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.

    1. Dê um nome ao seu repositório (pasta).
    2. Selecione criar repositório.
  2. 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]
    
  3. Inicializar um repositório Git. No seu projeto, digite:

    git init
    
  4. Verificar status. Para verificar o status do seu repositório, digite:

    git status
    

    A 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.txt
    

    Normalmente, o comando git status informa coisas como quais arquivos estão prontos para serem salvos no repositório ou têm alterações que você pode querer persistir.

  5. Adicionar todos os arquivos para rastreamento Isso também é chamado de preparar arquivos/adicionar arquivos à área de preparação.

    git add .
    

    O comando git add com o argumento . indica que todos os seus arquivos e alterações serão rastreados.

  6. 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.

  7. Remover todos os arquivos da área de preparação

    git reset
    

    Este comando nos ajuda a remover todos os arquivos da área de preparação de uma vez.

  8. 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.

  9. 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.

  10. 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 add fará 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.git pela URL do seu repositório no GitHub.

    git remote add origin https://github.com/username/repository_name.git
    

    Isso cria um remote, ou conexão, chamado "origin", apontando para o repositório do GitHub que você criou anteriormente.

  11. 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 main
    

    Isso envia seus commits no branch "main" para o GitHub. Configurar o branch upstream, incluindo -u no comando, estabelece um link entre seu branch local e o branch remoto, para que você possa simplesmente usar git push ou git pull sem 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.

  12. 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 push
    

    Dica: você também pode querer adotar um arquivo .gitignore para 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 .gitignore em .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

Vídeo básico sobre Git e GitHub

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:

  1. 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.
  2. Clonar. A partir daí, elas irão clonar o projeto para suas máquinas locais.
  3. Criar um branch. Você vai querer pedir que elas criem um branch para o trabalho delas.
  4. 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 status para 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:

  1. Criar um branch. Use o comando git branch para criar um branch que conterá as alterações que ele pretende contribuir:

    git branch [branch-name]
    
  2. 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]
    
  3. 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.

  4. Combinar seu trabalho com o branch main. Em algum momento, você termina o trabalho e quer combinar seu trabalho com o do branch main. O branch main pode 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 pull
    

    Neste 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 main
    

    O comando git merge main trará todas as alterações do main para 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]
    
    
  5. 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.

  6. 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 :)

  7. 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'.

Copiar um repositório localmente

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

Quiz pós-aula

Revisão e Autoestudo

Leia mais sobre como contribuir para software open source.

Cheatsheet do Git.

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.