Plano para estudar Git e GitHub enquanto aprende programação
Git e alguma tecnologia de hospedagem Git, como o GitHub, Bitbucket ou GitLab, são extremamente importantes para o nosso dia-a-dia como pessoa desenvolvedora de software. Mas, como aprender isso sendo que já temos tanta coisa para ver quando estamos aprendendo a programar?
Nesse artigo eu vou dar algumas dicas de Git e GitHub e um bônus para o uso de Terminal para usar enquanto estuda programação e intercalar os estudos afim de te ajudar a se tornar um ninja em Git e GitHub!
Podemos utilizar esse plano para qualquer prática de estudos, seja de aprender HTML, CSS, JavaScript, Python, Node.js, Ruby, Elixir etc. Não importa a técnologia, versionar nosso trabalho com o Git é o fluxo padrão para trabalhar com programação.
Preparando o ambiente de estudos
Antes de começar a aprender programar, será necessário montar um ambiente de estudos para guardar nossos códigos de práticas e exemplos do que estamos aprendendo.
Para isso será necessário cumprir alguns requisitos de sistema:
- instalar o Git em sua máquina
- criar uma conta no GitHub
- criar um diretório de trabalho em sua máquina
Caso você já saiba como fazer tudo isso, pode pular direto para a parte de criação de repositórios no GitHub. Senão pode seguir os próximos passos, pulando os que você já tiver feito em sua máquina.
Instalando o Git em nosso sistema operacional
A instalação do Git é diferente para cada sistema operacional, por isso indico que siga o site oficial:
Mas, se estiver utilizando Windows, recomendo essa leitura:
Com o Git instalado, precisaremos criar uma conta no GitHub e configurar essa conta no Git em nossa máquina.
Criando nossa conta no GitHub
Para criar uma conta no GitHub, acesse o site github.com e preencha o formulário principal.
Recomendo que coloque um nome de usuário legal, pois nós enviamos nosso GitHub em curriculuns ou mesmo no nosso LinkedIn.
Será necessário informar ao GitHub qual o tipo de plano de uso queremos utilizar, escolha a opção free.
O GitHub vai perguntar algumas coisas antes de finalizar a configuração da sua conta para coleta de dados para melhoria da plataforma, podemos responder ou pular para a próxima tela.
Com tudo devidamente configurado no GitHub, podemos agora começar um projeto.
Não vamos criar o repositório agora. Antes disso vamos configurar o usuário e email que usamos para criar nossa conta no GitHub no Git em nossa máquina.
Configurando o Git com nossos dados do GitHub
Execute o seguinte comando, colocando entre aspas o seu nome de usuário do GitHub:
git config --global user.name "Nome de usuário do GitHub"
E agora configure, também entre aspas, o email que foi cadastrado no GitHub:
git config --global user.email "email@provedor.com"
Configurando nossa chave de acesso ao GitHub
Sempre que vamos acessar um repositório hospedado no GitHub via terminal é necessário que tenhamos permissão de acesso e que façamos login. Para que não tenhamos que logar toda vez que queremos enviar algo para um repositório, utilizamos uma chave SSH. Uma chave de acesso que o GitHub consulta quando necessário.
Para criar essa chave, siga o documento do próprio GitHub:
Com o Git e GitHub configurados, podemos partir para a prática!
Nosso fluxo de trabalho com Git, GitHub e o Terminal
Vamos combinar uma regra: toda vez em que formos criar um micro projeto para estudar algo, como fazer uma página HTML, um jogo em linha de comando com Node.js ou qualquer coisa do tipo, vamos criar um repositório, clonar em nossa máquina, trabalhar nele utilizando branches e fazer pequenos commits para enviar para o GitHub.
Isso vai nos garantir alguma experiência que precisamos para utilizar essas ferramentas com maestria no nosso dia-a-dia.
Então, vamos lá!
Imagine que estamos começando um novo projeto de estudos, então vamos seguir o passo a passo:
Criar um novo projeto
Acesse sua conta no GitHub e clique no ícone de mais (+) no topo da página.
Clique em New repository.
Vamos imaginar que estou criando um projeto para estudar HTML, então vou colocar esse nome no repositório: aprendendo-html. Porém poderia ser o nome de uma página que está sendo criada ou um projeto qualquer, como, por exemplo: curriculum-em-html, jogo-da-cobrinha, pastel, kibe…
A descrição do projeto é opcional, porém é bem interessante que coloque um bom texto ali, pois é o que irá identificar o que faz o seu projeto e outras pessoas podem querer te ajudar. Nesse caso deixei com a frase “Repositório de estudos da linguagem HTML”.
Podemos criar o repositório com um README ou já informando qual a licença de uso do projeto, então dê uma olhada em bons exemplos de READMEs, nesse link: A template to make good README.md. E também em qual licença utilizar em seu projeto: choosealicense.com. Os exemplos são em inglês, mas podemos utilizar o translate do Google para facilitar nossa vida.
Criando uma pasta de trabalho em nosso sistema operacional
Com o nosso repositório criado, agora devemos clonar ele em nossa máquina, mas antes disso, vamos criar uma pasta onde clonaremos todos os futuros repositórios em que formos trabalhar.
Se você estiver utilizando Windows, recomendo a instalação do cmder para utilizar no lugar do CMD, o terminal padrão do Windows. Assim os comandos serão padronizados e esse tutorial continuará servindo pra você.
Vamos utilizar o terminal para criar uma pasta que será nosso workspace (local de trabalho). Fazemos isso para manter uma organização no sistema operacional, senão vamos perder nossos projetos espalhados por aí, assim como perdemos gifs de gatinhos que salvamos em nosso computador.
Para isso, vamos acessar a nossa “home”, a pasta onde ficam as outras pastas de usuário do sistema operacional (como documentos, imagens, vídeos):
cd ~/
Se você rodar o comando ls, verá uma saída parecida com essa:
As pastas aparecerão diferentes para você, pois esse aí é o meu computador e eu possuo diretórios que você pode não ter e você pode possuir diretórios que eu não tenho.
Execute o comando mkdir nome_da_pasta
para criar o workspace:
mkdir workspace
Pronto! Agora temos a pasta padrão para trabalho criada e nela iremos clonar nossos repositórios.
Clonando o repositório
Vamos seguir no meu exemplo, do repositório aprendendo-html, será necessário, agora, clonar ele dentro da pasta workspace. Para isso fazemos:
cd ~/workspace
Agora podemos clonar o projeto. Para isso vamos pegar o link no GitHub.
O link está naquele botão de download que fica listado em nosso repositório criado:
Mude de HTTPS para SSH, pois nós já configuramos uma chave de acesso a nossa conta no GitHub.
Agora basta rodar o comando git clone
e o link para o repositório. Exemplo:
git clone git@github.com:eusouumexemplo/aprendendo-html.git
Com o repositório clonado, como na imagem abaixo.
Podemos acessar a pasta do repositório Git com o comando cd. E então podemos começar a trabalhar nele.
No meu exemplo seria cd aprendendo-html
.
Criando uma branch
Toda vez que formos alterar algo em um projeto versionado com o Git, vamos criar uma branch com o nome da tarefa que estamos fazendo. Para isso utilizamos o comando git checkout -b nome_da_tarefa
.
Exemplo:
Feito isso, estaremos na branch que acabamos de criar e podemos, então, começar a codar loucamente.
Fazendo o commit
Sempre que finalizarmos alguma alteração, vamos criar um commit. Imagina que você acabou de criar uma página HTML e adicionou títulos e alguns textos nessa página. Teóricamente temos a primeira versão dela. Então fazemos um commit.
Para isso, vamos adicionar os arquivos alterados com o comando git add nome_dos_arquivos
e para saber quais foram os arquivos alterados, podemos rodar o comando git status
.
No exemplo acima eu criei um arquivo index.html, rodei um git status para saber o que foi alterado, adicionei o arquivo com o comando git add e rodei novamente o git status para ver se o arquivo está na área de trabalho do Git.
Com isso teríamos algo para commitar. Então basta rodar o comando git commit -m "mensagem de commit"
. Lembre-se de colocar uma mensagem descritiva do que foi adicionado com o commit.
Fazendo o merge
Com o nosso commit feito a nossa nova branch temos uma versão diferente da master. Podemos confirmar que estamos com diferença entre master e nossa branch rodando o seguinte comando (ainda na branch nova):
git diff master
No meu exemplo, isso resultaria em uma saída desse tipo:
O Git nos mostra o novo commit, quais arquivos foram adicionados ou alterados e também mostra o que foi alterado.
Sabendo que, realmente, nossa branch nova está com diferenças da master, precisaremos fazer um merge para juntar os novos commits, feitos na nova branch, com a master. Para isso precisamos voltar para a master e rodar o comando git merge
.
Para voltar para a master, usamos o comando git checkout master
e para fazer o merge, o comando git merge nome_da_branch
:
O Git nos mostrará uma saída confirmando o que foi adicionado.
Enviando para o GitHub
Com todas as nossas alterações devidamente feitas, podemos, agora, enviar para o GitHub.
Utilizamos o comando git push origin master
para tal.
Também poderíamos rodar somente um git push
.
Com isso nosso commit irá aparecer no GitHub:
Conclusão
Com esse tutorial, podemos, sempre que formos estudar algo novo, criar um projeto de estudos no GitHub. Isso vai nos ajudar a treinar a linha de comando, Git e GitHub, além de criar um portfólio para mostrarmos em entrevistas de emprego.
Essa prática também nos ajuda a entender melhor o fluxo de uso do Git com repositórios remotos (os repositórios hospedados em alguma plataforma como o GitHub) e elevará nosso nível de conhecimento e habilidades no terminal.
Vamos reforçar o combinado: sempre que você for criar um novo projeto de estudos, volte aqui e siga o passo a passo de criação de um novo repositório e trabalhe com branches e commits até o push para o GitHub, ok? :)
Se você gosta do meu trabalho, me ajude compartilhando este artigo em suas redes sociais. Me marca no Twitter, é @_uillaz, viu. ;)
Você também pode entrar no grupo privado pra gente bater um papo ou apoiar minha iniciativa social via PicPay:
E, se gostou desse artigo, de uma palminha aqui no Medium e compartilhe nas redes sociais! \o/