Artigo original: The beginner’s guide to Git & GitHub

Escrito por: Thanoshan MV

O que é Git?

O Git é um software de controle de versão gratuito e de código aberto. Foi criado por Linus Torvalds em 2005. Essa ferramenta é um sistema de controle de versão que foi inicialmente desenvolvido para trabalhar com vários desenvolvedores no kernel do Linux.

Basicamente, isso significa que o Git é um rastreador de conteúdo. Então, o Git pode ser usado para armazenar conteúdo — e é principalmente usado para armazenar código por causa das outras funcionalidades que ele fornece.

Projetos da vida real geralmente têm diversos desenvolvedores trabalhando em paralelo. Assim, eles precisam de um sistema de controle de versão como o Git para garantir que não ocorram conflitos de código entre eles.

Além disso, os requisitos de tais projetos mudam frequentemente. Por isso, um sistema de controle de versão permite que os desenvolvedores revertam e voltem a uma versão anterior do seu código.

O sistema de branches no Git permite que os desenvolvedores trabalhem individualmente em uma tarefa (por exemplo: uma branch -> uma tarefa OU uma branch -> um desenvolvedor). Basicamente, pense no Git como uma pequena aplicação de software que controla sua base de código, se você for um desenvolvedor.

vcs
Funcionamento do Git

Repositórios do Git

Se quisermos começar a usar o Git, precisamos saber onde hospedar nossos repositórios.

Um repositório (ou "repo", para abreviar) é um projeto que contém diversos arquivos. No nosso caso, um repositório conterá arquivos baseados em código.

Existem duas maneiras de hospedar seus repositórios. Uma é on-line (na nuvem) e a outra é off-line (instalado no seu servidor).

Existem três serviços populares de hospedagem do Git: GitHub (pertencente à Microsoft), GitLab (pertencente ao GitLab) e BitBucket. Usaremos o GitHub como nosso serviço de hospedagem.

Antes de usar o Git, devemos saber por que precisamos dele

O Git facilita a contribuição para projetos de código aberto

Quase todos os projetos de código aberto usam o GitHub para gerenciar seus projetos. Usar o GitHub é gratuito se o seu projeto for de código aberto, e inclui uma wiki e um rastreador de problemas que facilita a inclusão de documentação mais detalhada e o recebimento de feedback sobre seu projeto.

Se você quiser contribuir, você apenas faz o fork (uma cópia) de um projeto, faz suas alterações e, em seguida, envia ao projeto um pull request usando a interface da web do GitHub. Esse pull request é sua maneira de dizer ao projeto que você está pronto para que revisem suas alterações.

Documentação

Ao usar o GitHub, você facilita a obtenção de excelente documentação. A seção de ajuda e os guias deles têm artigos sobre praticamente qualquer tópico relacionado ao Git que você possa imaginar.

Opções de integração

O GitHub pode se integrar com plataformas comuns como Amazon e Google Cloud, com serviços como Code Climate para acompanhar seu feedback, e pode realçar a sintaxe em mais de 200 linguagens de programação diferentes.

Acompanhe as alterações no seu código entre versões

Quando várias pessoas colaboram em um projeto, é difícil acompanhar as revisões — quem mudou o que, quando e onde esses arquivos estão armazenados.

O GitHub cuida desse problema ao acompanhar todas as alterações que foram enviadas ao repositório.

Muito parecido com o uso do Microsoft Word ou do Google Drive, você pode ter um histórico de versões do seu código para que versões anteriores não sejam perdidas a cada iteração. É fácil voltar à versão anterior e contribuir com seu trabalho.

Exibir seu trabalho

Você é um desenvolvedor que deseja atrair recrutadores? O GitHub é a melhor ferramenta em que você pode confiar para isso.

Hoje, ao procurarem por novos recrutas para seus projetos, a maioria das empresas olha para perfis do GitHub. Se o seu perfil estiver disponível, você terá uma maior chance de ser recrutado, mesmo se não for de uma universidade ou faculdade renomada.

Aprendendo a usar o Git e o GitHub

Criação de conta no GitHub

Para criar sua conta, você precisa ir ao site do GitHub e preencher o formulário de registro.

github-webpage
Página oficial do GitHub

Instalação do Git

Agora, precisamos instalar as ferramentas do Git em nosso computador. Usaremos a CLI (interface de linha de comando) para nos comunicarmos com o GitHub.

Para o Linux:

  1. Primeiro, atualize seus pacotes.
sudo apt update
  1. Em seguida, instale o Git e o GitHub com apt-get
sudo apt-get install git
  1. Finalmente, verifique se o Git está instalado corretamente
git --version
  1. Execute os seguintes comandos com suas informações para definir um nome de usuário e e-mail padrão quando você for salvar seu trabalho.
git config --global user.name "seu_nome_de_usuario_aqui"
git config --global user.email "exemplo@e-mail.com"

Trabalhando com projetos no GitHub

Trabalharemos com projetos no GitHub de dois modos.

Modo 1: crie o repositório, clone-o para o seu PC e trabalhe nele. (recomendado)

O modo 1 envolve criar um repositório do zero no GitHub, cloná-lo para o nosso computador, trabalhar em nosso projeto e enviá-lo de volta.

Crie um repositório clicando no botão "New repository" na página da web do GitHub.

new-repo
readme

Perfeito! Seu primeiro repositório no GitHub foi criado.

Sua primeira missão é obter uma cópia do repositório no seu computador. Para fazer isso, você precisa "clonar" o repositório no seu computador.

Clonar um repositório significa que você está pegando um repositório que está no servidor e clonando-o para o seu computador - assim como baixá-lo. Na página do repositório, você precisa obter o endereço "HTTPS".

github-project

Depois de obter o endereço do repositório, você precisa usar seu terminal. Utilize o seguinte comando no terminal. Quando estiver pronto, você pode inserir isto:

git clone [ENDEREÇO HTTPS]

Esse comando fará uma cópia local do repositório hospedado no endereço fornecido.

cmd-1
Mensagem de saída do comando "git clone"

Agora, o repositório está no seu computador. Você precisa entrar nele com o seguinte comando.

cd [NOME DO REPOSITÓRIO]
cmd-2

Como você pode ver na imagem acima, o nome do meu repositório é "My-GitHub-Project" e esse comando me fez ir para esse diretório específico.

OBSERVAÇÃO: quando você clona, o Git criará um repositório no seu computador. Se quiser, você pode acessar seu projeto com a interface do usuário do computador em vez de usar o comando 'cd' no terminal.

Agora, naquela pasta, podemos criar arquivos, trabalhar neles e salvá-los localmente. Para salvá-los remotamente — como no GitHub — temos que fazer um processo chamado "commit". Para fazer isso, volte ao seu terminal. Se o tiver fechado, como mencionei anteriormente, use o comando 'cd'.

cd [NOME DO REPOSITÓRIO]

Agora, no terminal, você está no diretório do seu repositório. Existem 4 etapas em um commit: 'status', 'add', 'commit' e 'push'. Todos os passos seguintes devem ser realizados dentro do seu projeto. Vamos passar por eles um por um.

"status": a primeira coisa que você precisa fazer é verificar os arquivos que você modificou. Para fazer isso, você pode digitar o seguinte comando para exibir uma lista de mudanças.

git status
git-status-1

"add": com a ajuda da lista de mudanças, você pode adicionar todos os arquivos que deseja enviar com o seguinte comando,

git add [NOME DO ARQUIVO] [NOME DO ARQUIVO] [...]

No nosso caso, vamos adicionar um arquivo HTML simples.

git add sample.html
sample

"commit": agora que adicionamos os arquivos da nossa escolha, precisamos escrever uma mensagem para explicar o que fizemos. Essa mensagem pode ser útil mais tarde se quisermos verificar o histórico de alterações. Aqui está um exemplo do que podemos colocar no nosso caso.

git commit -m "Adicionado arquivo HTML de amostra que contém sintaxe básica"
commit-1
  1. "push": agora podemos colocar nosso trabalho no GitHub. Para fazer isso, temos que fazer o 'push' de nossos arquivos para remote. remote é uma instância duplicada do nosso repositório que vive em algum lugar em um servidor remoto. Para fazer isso, devemos saber o nome do remote (na maioria das vezes o remote é chamado de origin). Para descobrir esse nome, digite o seguinte comando.
git remote
remote-1

Como você pode ver na imagem acima, é dito que o nome do nosso remote é origin. Agora, podemos fazer o 'push' do nosso trabalho com segurança pelo seguinte comando.

git push origin master

Agora, se formos ao nosso repositório na página web do GitHub, podemos ver o arquivo sample.html que enviamos para o remoto — que é o GitHub!

push-1

OBSERVAÇÃO: às vezes, quando você está usando comandos Git no terminal, isso pode levar você ao editor de texto VIM (um editor de texto baseado em CLI). Para se livrar dele, você tem que digitar

:q

e ENTER.

-q
explanation
Descrição de como pull e push funcionam

Fazer o 'pull' é o ato de receber do GitHub.

Fazer o 'push' é o ato de enviar para o GitHub.

Modo 2: trabalhe no seu projeto localmente e depois crie o repositório no GitHub e envie-o para o remoto.

O modo 2 permite que você crie um repositório a partir de uma pasta existente no seu computador e o envie para o GitHub. Em muitos casos, você pode já ter criado algo no seu computador que deseja, de repente, transformar em um repositório no GitHub.

Vou explicar isso para você com um projeto de formulário de pesquisa que fiz anteriormente que não foi adicionado ao GitHub.

Como já mencionei, ao executar quaisquer comandos do Git, temos que garantir que estamos no diretório correto no terminal.

type-2

Por padrão, qualquer diretório no nosso computador não é um repositório do Git – mas podemos transformá-lo em um repositório do Git executando o seguinte comando no terminal.

init

Após converter nosso diretório para um repositório do Git, a primeira coisa que precisamos fazer é verificar os arquivos que temos usando o seguinte comando.

git status
status-2

Então, há dois arquivos nesse diretório que precisamos "adicionar" ao nosso repositório.

git add [NOME_DO_ARQUIVO] [NOME_DO_ARQUIVO] [...]

OBSERVAÇÃO: para "adicionar" todos os arquivos no nosso repositório, podemos usar o seguinte comando:

git add .

Após a área de stage (o processo de adição) estar completa, podemos verificar se os arquivos foram adicionados com sucesso executando o git status.

Se esses arquivos específicos estiverem em verde, como na imagem abaixo, você fez seu trabalho!

green

Então, temos que fazer o "commit" com uma descrição.

git commit -m "Adicionando formulário de pesquisa web"
survey-form

Se meu repositório começou no GitHub e se eu o clonar para meu computador, um remote já estará anexado a ele (modo 1). Se, no entanto, eu estiver começando o repositório no meu computador, ele não tem um remote associado a ele, então eu preciso adicionar esse remote (modo 2).

Para adicionar esse remote, precisamos ir ao GitHub primeiro. Crie um repositório e nomeie-o como quiser para armazená-lo no GitHub. Em seguida, clique no botão "Create repository".

OBSERVAÇÃO: no modo 2, não inicialize o repositório com um arquivo README ao criar um repositório na página web do GitHub.

new-repo-2

Depois de clicar no botão "Create repository", você verá a imagem abaixo como uma página da web.

web-page

Copie o endereço HTTPS. Agora, vamos criar o remote para nosso repositório.

git remote add origin [ENDEREÇO HTTPS]

Após executar esse comando, podemos verificar se adicionamos o remote com sucesso usando o seguinte comando:

git remote

Se ele exibir "origin", você adicionou o remote ao seu projeto.

OBSERVAÇÃO: lembre-se de que podemos indicar qualquer nome para o remote alterando o nome "origin". Por exemplo:

git remote add [NOME_DO_REMOTO] [ENDEREÇO HTTPS]

Agora, podemos enviar nosso projeto para o GitHub sem problemas!

git push origin master

Após completar essas etapas uma por uma, se você for ao GitHub, encontrará seu repositório com os arquivos!

final

Conclusão

Obrigado a todos por lerem. Expliquei apenas o básico de Git e GitHub. Recomendo fortemente que todos leiam mais artigos relacionados a Git e GitHub. Espero que este artigo tenha ajudado.

Confira o artigo original (em inglês) no Medium.

Boa programação para você!