/github-ready---check-Severo-creator

github-ready---check-Severo-creator created by GitHub Classroom

👋 O básico do GitHub

🤓 Resumo desta atividade

O objetivo desta atividade é dar uma introdução breve ao GitHub. Ao final da atividade haverão materiais adicionais que você pode usar para melhorar seus conhecimentos com git e instalar em outras plataformas e cenários.

:octocat: Git e GitHub

Git é um sistema de controle de versão distribuido (VCS) que ajuda a controlar mudanças no código durante o desenvovlimento de projetos de software. O git controla as mudanças que foram feitas no código guardando o que foi modificado dando a possibilidade de reverter o código para versões antigas se necessário. O git também facilita o trabalho em grupo, pois pessoas podem trabalhar no mesmo projeto de software enquanto o git lida com a "mesclagem"(merge) do código.

GitHub é uma plataforma de colaboração. De software à documentos quaisquer, voce pode usar o GitHub para ajudar no trabalho colaborativo. No GitHub é possível manter projetos privados ou convidar qualquer pessoa do mundo para colaborar.

O GitHub também é uma poderosa ferramenta de controle de versão. O GitHub usa o Git, a ferramenta de controle de versão de software mais popular, para rastrear a contribuição que cada participande deu ao código.

O GitHub ajuda pessoas a fazer mais. O GitHub é usado em diversos projetos avançados no mundo. Independentemente se você está aprendendo, visualizando dados, fazendo jogos, tem uma uma comunidade inteira e um conjunto de ferramentas no GitHub que pode te levar ao próximo nível.

💻 Funcionalidades do GitHub

Repositórios

Um repositório é onde o trabalho em um projeto acontece. O repositório contem todos os arquivos de um projeto bem como seu histórico de revisões. Você pode trabalhar sozinho ou convidar outras pessoas para colaborar nos arquivos de um repositório. A medida que você vai usando o github você terá mais repositórios. Use o Dashboard do GitHub para navegar entre os seus respositórios mais facilmente, porém você precisa estar logado.

Repositórios também contem um README. Você pode adicionar um README no seu repositório para descrever o seu projeto. Por exemplo, esse arquivo que você está lendo é o README deste projeto.

Aprenda um pouco mais sobre repositórios e README's em "Creating, Cloning, and Archiving Repositories(inglês)" e "About README's(inglês)".

Pull requests

"Pull requests" permitem que você informe aos outros sobre mudanças que você enviou para um repositório no GitHub. Quando um "pull request" é aberto, você e os demais colaboradores do repositório podem discutir sobre as mudanças feitas e adicionar mais modificações se for o caso.

Ao adicionar alguém como revisor de seu "pull request" você sinaliza que gostaria da opinião dele/a sobre o conteúdo das mudanças feitas.

Você pode aprender mais sobre "pull requests" em "About Pull Requests"(inglês).

Issues

Use issues para controlar melhorias, tarefas ou bugs no seus projetos no Github. "issues" são uma boa forma de manter controle das atividades que você quer desenvolver no projeto, permitindo que outros saibam qual plano você pretende seguir e como ele está indo. Em projetos maiores, você pode controlar vários "issues" no quadro do projeto. O Github Projects é uma ferramenta que pode ajudar a organizar e priorizar as tarefas em um projeto maior, você pode ler um pouco sobre o GitHub Projects em "About Project boards document (inglês).

Os "pull requests" e as "issues" podem ser linkados! Você pode linkar um "pull request" e uma "issue" para mostrar que um bug-fix está em progresso, podendo fechar a "issue" automaticamente quando o "pull request" é incorporado ao código base.

Para ler um pouco mais sobre issues linkdas à pull requests veja "About Issues"(inglês).

Seu perfil

A página do seu perfil mostra às pessoas um pouco do histórico do seu trabalho em todos os repositórios que voce tenha contribuído ou seja interessado, bem como as convrsas que você tenha tido com outros desenvolvedores. Voce pode adicionar um README no seu perfil, com um resumo de suas próprias palavras sobre quem você é. Você pode usar seu perfil como currículo para futuras ofertas de emprego =).

Para aprender um pouco sobre como atualizar seu perfil e como adicionar um README a ele leia "Managing Your Profile README(inglês)".

Usando markdown no GitHub

Você já deve ter notado, mas você pode adicionar estilo nos seus issues, pull request e arquivos (desde que eles sejam no formato .md). Através do uso de markdown suas issues, pull request e arquivos ficam mais organizados deixando a leitura um pouco mais fácil para os demais participantes do projeto. Também é possível adicionar imagens e gifs se você achar necessário.

Para aprender um pouco mais sobre o Markdown usado no GitHub leia "Basic Writing and Formatting Syntax(inglês)".

Se engajando com a comunidade no GitHub

A cominidade no GitHub é vasta. Existem muitas pessoas que usam o GitHub no dia-a-dia, desenvolvedores profissionais, hobistas em projetos open source, exploradores que estão apenas fuçando por projetos de software, entre outros. Existem muitas formas para você interagir com essa comunidade, porém existem formas principais que podem te ajudar a começar:

Favoritando (marcando estrelinha) em repositórios

Se você encontrou algum repositório que acha interessante e gostaria de acompanhar, marque com uma estrela! Quando você marca um repositório como favorito os conteúdos dele são usados como informação para recomendaçoes no github.com/explore. Se você quiser acessar os repositórios que marcou como favoritos, é possível através de seu perfil.

Para aprender um pouco mais sobre repositórios marcados com estrela leia "Saving Repositories with Stars"(inglês).

Seguir usuários

Você pode seguir usuários no GitHub, para receber notificações sobre as atividades deles e descobrir projetos em que eles estejam envolvidos. Quando você segue um usuário, a atividade pública daquele usuário vai ser exibida no seu dashboard, assim você pode acompanhar as coisas interessantes que eles estejam fazendo.

Para aprender um pouco mais sobre esse assunto leia "Following People"(inglês).

Navegando no GitHub Explore

O GitHub Explore é um ótimo lugar para explorar =). Você pode encontrar novos projetos, eventos e desenvovedores para interagir.

Você pode acessar o GitHub Explore em github.com/explore. O quanto mais você interagir, melhor será o conteúdo mostrado.

:octocat: Entendendo o fluxo de trabalho no GitHUb

O fluxo de trabalho no github é leve e permite você experimentar ideias de forma segura, sem medo de comprometer o projeto.

  1. Primeiramente você deve criar um novo repositório na sua conta do github
  2. Depois de criado o repositório tem uma url de "clone" que permite você clonar aquele repositório na sua máquina
  3. Após o clone você pode fazer branches, pull requests, abrir issues, realizar commits ou gerenciar os arquivos no projeto.

Clonando e fazendo Fork

Quanto você cria um repositório ele existe remotamente fora da sua máquina local. Você pode clonar um repositório para criar uma cópia local no seu computador e usar o Git para sincronizar o repositório remoto com aquele onde você trabalha diariamente.

Você pode clonar um repositório do GitHub para sua máquina para facilitar a implementação de bug-fixes, mover ou remover arquivos, ou enviar commits maiores. Você pode também udar uma IDE ou ferramenta de edição de texto além da UI do GitJHub. Quando você clona um repositório, você literamente copia aquele repositório para sua máquina. O clone contém toda a informação que o GitHub tem sobre um repositório, tanto suas modificações atuais quanto suas versões passadas, incluindo versões de cada arquivo e diretório daquele projeto. Para aprender um pouco mais sobre como clonar um projeto leia "Cloning a Repository"(inglês).

Um "Fork" é outra forma de copiar um repositório, mas é usualmente usado quando queremos contribuir com o projeto de alguém. Quando fazemos Fork você pode experimentar no projeto "forkado" sem afetar o projeto original, possibilitando ao autor do projeto original acompanhar suas mudanças bem como permitindo que você faça um "pull request" no projeto original. Você pode ler mais sobre forks em "Fork a Repo"(inglês).

Commit, add/remove e push

Após clonar um repositório você pode gerenciá-lo localmente. Na sua cópia local você pode remover ou adicionar qualquer arquivo, e mais importante, você pode fazer commit. Um commit é uma mensagem que voce deixa para os outros desenvolvedores saberem quais modificações foram feitas até aquele ponto. Usualmente sempre que terminamos uma funcionalidade fazemos um "commit", no comando de commit você será obrigado a listar os arquivos que foram modificados para implementação daquela funcionalidade específica.

Os commits são importantes, pois eles dizem ao Git quais modificações foram realizadas no código/projeto até aquele ponto. Caso você não faça commits, o git não vai permitir que você envie os arquivos de volta para o github (a fim de fazer o controle de versão). Assim uma boa prática é realizar commit periodicamente, sempre que terminar de fazer alguma funcionalidade ou mesmo quando você terminar de trabalhar naquele dia (mesmo que ainda não esteja compilando ou funcional).

Outra prática comum é o gerenciamento de arquivos, usualmente queremos adicionar ou remover arquivos do projeto, para isso o git tem comandos específicos. Sempre que adicionar ou remover um arquivo do seu projeto não esqueça de fazer um commit (você pode fazer um commit único quando adiciona ou remove múltiplos arquivos de uma vez só).

Quando tiver terminado o trabalho e quiser enviar tudo para ser guardado no github use o comando push. Ao usar esse comando você envia não só os arquivos na sua versão atual para o servidor como também envia todo o rastro de desenvovlimento, contendo todos os commits e toda movimentação que tenha sido feita no repositório até aquele ponto. Veja que você não é obrigado a fazer push toda vez que faz um commit, tente fazer commit periódicamente, mas faça push apenas quando não for mais trabalhar no código.

Criando Branches

Você pode usar branches no GitHub para isolar um trabalho que você quer fazer mas não quer que seja imediatamente integrado ao projeto final. Branches permitem que você desenvolva funcionalidades, corrija bugs ou experimente em uma área segura do repositório. Você pode criar um branch de um branch existente, ou criar um branch a partir do branch principal (main) do projeto.

Quando as modificações em um branch são revisadas e aprovadas pelo time de desenvolvimento, você pode mesclar("merge") as mudanças no branch principal do repositório.

Para aprender um pouco mais sobre criação de branches leia "About Branches"(inglês).

📝 Próximos passos: clone, commit, add e push

Tarefa: Adicione neste repositório um arquivo de texto "teste_commit.txt" usando algum dos ambientes abaixo

Terminal github cli ou um terminal linux

  • Abra o github cli e faça faça clone no repositório: da linha de comando navegue para qualquer diretório que deseje e faça git clone <endereço de clone>
  • Entre no diretório criado após o clone e crie o arquivo teste_commit.txt, contendo o texto "Teste commit usando Terminal". Você também pode criar um arquivo com um editor de texto qualquer e salvar no diretório correspondente ao repositório.
  • De volta ao github cli use o comando git add teste_commit.txt par adicionar o arquivo ao controle de versão local
  • Depois use o comando git commit teste_commit.txt -m "primeiro commit", para escrever alguma informação de log sobre a adição daquele arquivo. Veja que você só pode dar commit em arquivos que já tenham sido adicionados usando o comando add.
  • Por fim digite o comando git push para enviar as modificações locais para o github

Interface web do github

  • Crie na sua máquina o arquivo "teste_commit.txt", contendo o texto "Teste commit usando interface web"
  • Vá até a página do seu repositório e clique no botão "Add file > upload file", procure o arquivo criado
  • Adicione na mensagem de commit "primeiro commit"

Sua IDE preferida

Muitas ides de código dão suporte à git, com certeza você consegue encontrar algum guia para a sua preferida. Tente realizar esta atividade na sua IDE e adicione o arquivo de texto apenas mudando o texto para "Teste commit usando <nome da IDE>". O importante é que você entenda quando está fazendo commit, add e push. Lembre que o código só vai para a núvem o github quando você executa push

📝 Próximos passos: clone, commit, add e push

Tarefa: Após adicionar o arquivo "teste_commit.txt" edite-o usando a interface web do github (acesse o arquivo e clique no botão "edit") adicionando a linha: "Modificado na interface web". Faça commit no documento modificado com a mensagem "modificando para testar o pull". Atualize o arquivo na sua máquina usando qualquer um dos ambientes descritos abaixo:

Usando o Terminal github cli ou um terminal linux

  • Dentro do diretório do repositório, use o comando git pull

Usando a interface web do github

  • Neste caso, a interface web já foi usada, se você quiser atualizar seu projeto a única forma é fazer o download/clone novamente.

Usando sua IDE Preferida

Neste caso procure na sua IDE como realizar "pull" do repositório

📚 Matrial de vídeo

📚 Outros materiais em ingles