Primeiros Passos: Git&Github

Nicole Wirtzbiki
21 Tech
Published in
12 min readMar 8, 2022

Você não sabe nada sobre Git/Github e quer um panorama geral? Esse tutorial é pra você.

Migrar para uma área na tecnologia é como enfrentar uma avalanche. São tantas ferramentas para aprender que você pode se sentir sobrecarregado. Aqui vai um resumo simples do que é essa ferramenta chamada Git que muitas empresas usam e pedem nas suas chamadas de vagas de emprego.

O Que é Git/Github?

Primeiro, Git e Github são coisas diferentes:

  • Git é um sistema de controle de versão de arquivos. Você instala o Git no seu computador e com ele pode desenvolver projetos colaborativos com facilidade. Você utiliza o Git no seu computador através do terminal ou prompt de comando, como você preferir chamar.
  • Github é um serviço de hospedagem para projetos Git. Ele permite que você armazene projetos privados (onde só você tem acesso aos códigos) ou projetos Open Source (pra todo mundo ver e utilizar). Além disso, ele funciona como um portfólio online dos projetos que você já criou ou contribuiu, e também uma rede de network entre programadores.

Então, basicamente, você utiliza o Git para gerenciar o armazenamentos de arquivos no Github.

Você vai configurar o Git instalado no seu computador e linkar com o seu perfil no Github. Assim você vai poder criar seus próprios projetos ou colaborar com o projeto de outras pessoas, como o da empresa que você estiver trabalhando, por exemplo.

O Git permite que a gente registre diferentes modificações de um arquivo, e com isso revolver problemas como perdas de arquivos importantes ou resgate de uma versão anterior do projeto, pois ele possibilita recuperar uma versão específica que tenha sido enviada.

Já entendemos que o Git tem tudo a ver com enviar versões dos arquivos para um armazenamento remoto, que no caso é o Github. Vamos então começar a entender mais a fundo esse processo.

1º Passo: Instalar o Git no seu computador

Instalar o Git é muito fácil, principalmente se você está utilizando o Linux (o que eu aconselho bastante). Mas se você utiliza o Windows ou Mac, tudo bem também. É só acessar esse link abaixo e seguir as instruções de instalação para o seu sistema operacional:

https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-Instalando-o-Git

2º Passo: Criar uma conta no Github

Acesse https://github.com para criar o seu perfil pessoal e começar a utilizá-lo. É gratuito, basta inserir seu e-mail e seguir o passo a passo deles.

3º Passo: Abra seu Terminal

Se você é novo no Linux e não é familiarizado com o o seu Terminal ou Prompt de Comando, aqui nesse outro artigo eu faço um resumo rápido sobre ele. Mas se você já conhece o básico, siga adiante!

4º Passo: Configure seu Git

Vamos incluir duas configurações básicas: o Git name e o Git e-mail.
Com seu terminal aberto, digite o seguinte:

$ git config --global user.name "Seu Nome"

E praticamente a mesma coisa para seu email:

$ git config --global user.email "nome@email.com"

Todos os comandos relacionados ao Git irão começar com a palavra git. O config depois vem para especificar que iremos fazer uma configuração, e o --globalpara que ele utilize esse configuração de forma global, em todos os projetos.

Configurar seu nome e e-mail no Git é necessário porque todo commit que você fizer (isto é, toda vez que você salvar arquivos no Git), ele vai gravar automaticamente o nome e e-mail de quem enviou, o que é importante caso você esteja trabalhando em equipe, para saberem quem fez o que.

Para saber se sua configuração deu certo, é só digitar o comando abaixo e ele vai listar suas configurações atuais:

$ git config --list

5º Passo: Crie um novo Repositório Git

Agora vamos adicionar o Git a uma pasta ou projeto.

Digamos que você tem uma pasta chamada novo_projeto onde estão os seus arquivos e você gostaria de adicionar o Git a ela para poder compartilhar no Github. Abra seu terminal dentro dessa pasta (como ensinamos a fazer no item 3 desse outro artigo) e digite:

$ git init

E pronto!

Ao rodar o comandogit init, será criada automaticamente toda uma estrutura de arquivos Git dentro daquela pasta para que o Git consiga versionar seus arquivos, ou seja, guardar todas as versões que você criou ao trabalhar nela.

Uma pausa para entender como é o fluxo dos seus arquivos no Git:

Photo by Kai Pilger on Unsplash

Na imagem abaixo podemos visualizar como utilizamos o Git com nossos arquivos na nosso computador e depois ao enviá-lo para a nuvem.

O Local Repository significa Repositório Local, ou seja, quando estamos salvando o arquivo no Git ainda dentro do computador. O Remote é o Github, quando enviamos o arquivo para a nuvem para compartilhá-lo com outras pessoas.

Ainda no repositório local, o seu computador, o arquivo passa por 3 “locais” até estar salvo no Git:

  • Working Directoty: quando seu arquivo está no working directory, significa que ele ainda não está salvo no Git, você ainda está trabalhando nele.
  • Staging Area (ou Index): Quando acabamos de editar o arquivo e queremos salva-lo no Git, primeiro precisamos enviá-lo para a staging area, um local onde o Git prepara ele para ser salvo. Podem haver vários arquivos na staging area ao mesmo tempo.
  • Repository (ou HEAD): Finalmente, o Git pega todos os arquivos que estão na staging area e salva no Repositório Git no seu computador.

Pronto! Agora todo o seu trabalho está documento no Git dentro do seu computador, mas ainda somente para você. Por último, então, enviamos ele para a Nuvem ou Remote, o Github, para compartilhá-lo com outras pessoas.

“Ciclo de Vida” dos arquivos:

Os arquivos podem estar em 2 estados possíveis no Git: Monitorado ou Não Monitorado.

Para saber qual é o ‘estado’ do seu arquivos no seu repositório Git, é só utilizar o comando:

$ git status

Os arquivos Monitorados são aqueles que o Git já sabe que fazem parte do seu projeto. Eles podem estar:

  • Inalterados (Você já salvou no Git e não modificou mais)
  • Modificados (Você modificou o arquivo e ainda não salvou no Git)
  • Selecionados (Você deu o git add e eles estão no staging area)

Os arquivos Não Monitorados são arquivos novos, que ainda não foram adicionados ao repositório Git.

Agora que já entendemos um pouco mais sobre o ciclo e status dos arquivos no Git, vamos continuar o nosso passo a passo de onde paramos:

Photo by Carlos Alberto Gómez Iñiguez on Unsplash

6º Passo: Adicione um Arquivo ao seu Repositório Git local

Agora que temos o repositório Git criado dentro da sua pasta que contém o arquivo que você está trabalhando, vamos salvá-lo no Git.

Primeiro, adicionamos o arquivo à ‘área provisória’, onde o Git prepara o arquivo para salvá-lo, que chamamos de staging area:

$ git add <nome do arquivo>

Depois que preparamos o arquivo, podemos fazer o commit, ou seja, salvar no seu Repositório Git Local:

$ git commit -m 'mensagem explicando o que foi feito'

Essa mensagem explicando o que foi feito no seu commit é extremamente importante, principalmente ao trabalhar em equipe!

Por último, podemos conferir como está o status dos nossos arquivos digitando:

$ git status

7º Passo: Apagando um arquivo do Repositório Git

Para remover um arquivo do repositório, primeiro digitamos o comando:

$ git rm <nome do arquivo>

E então fazemos o commit dessa remoção:

$ git commit -m “Deleted the file from the git repository”

E pronto!

8º Passo: Visualizando os Logs

Depois realizar vários commits em um Repositório Git, é natural querer visualizar o que aconteceu nele, principalmente se for um projeto colaborativo, com muitas pessoas contribuindo com ele.

O repositório do git possui os logs, que é o histórico de tudo que aconteceu.

Dentro do seu projeto, rode o comando:

$ git log

Ele irá mostrar os commits que aconteceram. Para deixar essa visualização mais clean, use:

$ git log --pretty=oneline

Ele irá mostrar cada commit em uma linha, com apenas as informações essenciais. Se você colocar -1 no final, ele mostrará apenas o último commit.

9º Passo: Visualizando as Diferenças

Quando você tem um bug, que é algo que não está funcionando no seu código, é importante você visualizar as diferenças com a versão anterior do arquivo para poder saber o que quebrou.

$ git diff <nome do arquivo>

Se você quer saber quais arquivos atualmente tem diferenças com relação ao que foi saldo no repositório:

$ git diff --nome-only

Se você quer incluir na staging area todos os arquivos que tem diferenças, é só colocar um ponto após o git add, ao invés do nome de somente um arquivo específico:

$ git add .

10º Passo: Desfazendo Alterações

Digamos que você acabou de fazer um commit das alterações em um arquivo. Mas você percebe que nesse commit você deveria ter enviado junto alterações em outro arquivo. O que fazer? Um segundo commit?

Mas para manter o seu histórico mais organizado, principalmente se for um grande projeto com muitas pessoas, a melhor solução é simples: alterar o commit que foi realizado.

Você só precisa colocar o arquivo que deseja adicionar ao commit no staging, e rodar o comando:

$ git commit --amend

Quando você rodar esse comando, você poderá modificar a mensagem do commit e serão inclusos nele todos os arquivos que estiverem no staging.

Se você quiser modificar somente a mensagem, é só utilizar o comando acima sem ter nenhum arquivo no staging.

Para remover um arquivo da área de seleção, ou seja, remover um arquivo do staging, use o comando:

$ git reset HEAD <nome do arquivo>

Esse comando vai resetar o estado do arquivo para onde ele estava no último commit. Quaisquer mudanças no conteúdo do arquivo não serão apagadas, apenas o estado do arquivo.

Para desfazer modificações no conteúdo do arquivo, utilize:

$ git checkout -- <nome do arquivo>

Você volta o conteúdo do seu arquivo para como ele estava no último commit.

11º Passo: Desenvolvendo Features Isoladas

Vamos falar agora sobre Branches.

Digamos que você está em um projeto colaborativo e enquanto seu colega precisa desenvolver o conteúdo da página e você é responsável por desenvolver a barra de navegação.

Para facilitar, podemos criar ‘projetos paralelos’, para que cada um desenvolva sua parte, e depois fundi-los no projeto principal. Como se cada projeto paralelo fosse um galho (em inglês, uma branch), e o projeto principal fosse o tronco (que chamamos de branch principal, master ou main).

Ao criar uma nova branch, os arquivos que já existem na branch principal serão levados para ela, como uma cópia. Se você criar um arquivo novo na nova branch ou modificar a ‘cópia’ e depois simplesmente mudar de volta para a principal, nada terá mudado, pois tudo ainda está na nova branch. Para enviar os arquivos novos e mudanças para a branch principal, é necessário juntar as branches.

*Dica! Houve uma migração para a utilização no nome Main ao invés de Master para se referir à branch principal, devido à origem opressora do termo Master. Para aprender a mudar o nome master para main, clique aqui.

Para ver no seu projeto quais branches já existem, digite:

$ git branch

Se você não criou nenhuma nova branch, a única que vai aparecer é a branch principal.

Para criar uma nova branch, digite:

$ git branch <nome da nova branch>

Para mudar de branch, saindo da branch principal para a nova branch que você acabou de criar, digite:

$ git checkout <nome da branch que você criou>

Para deletar uma branch que foi criada, digite:

$ git branch -d <nome da branch>

Se houverem mudanças não commitadas na branch que você desejar apagar, o git vai pedir uma confirmação da deleção.

Se você quiser criar e mudar imediatamente para a nova branch, é só digitar:

$ git checkout -b <nome da nova branch>

12º Passo: Juntando Branches

Para a junção de branches, usamos o comando merge.

O merge envia as mudanças de uma branch para outra, e somente a branch “alvo” sofrerá alterações.

Por exemplo, se criarmos uma nova branch e fizermos o merge dela na branch Main, somente a Main sofrerá alterações.

Digamos que você, na sua tarefa de criar uma barra de navegação para um projeto colaborativo, cria uma nova branch chamada barra_de_navegacao. Nela, você cria um arquivo chamado nova_barra onde você desenvolve o código do seu trabalho.

Se você voltar para a branch principal, a Main, verá que esse arquivo ainda não existe nela. Para isso, precisaremos fazer o merge da branch barra_de_navegacao para a branch Main.

Primeiro, saia da branch barra_de_nevegacao para a Main usando o comando git checkout Main. Na branch Main, utilize o comando merge seguido pelo nome da branch que deseja incorporar:

$ git merge barra_de_navegacao 

E pronto! A partir de agora, o arquivo nova_barra já está presente na branch Main.

13º Passo: Subindo seus arquivos para o repositório no GitHub

Primeiro, você deve ir até a página do Github e criar um novo repositório. Na barra superior, vá em Repositories -> New.

Assim que você preencher o nome e descrição do seu novo repositório, clique em create repository. Então, o github irá te mostrar uma série de comandos para você subir seus primeiros arquivos:

Logo na área azul, ele te dará o link pro seu repositório github recém criado. Você vai usar esse link como endereço para enviar seus arquivos para ele.

Então, primeiro, vamos linkar nosso projeto ao respositório no Github que acabamos de criar, usando o link que falamos acima:

$ git remote add origin <link>

Então, para subir seus arquivos digite:

$ git push origin master

Vai ser pedido seu usuário e senha do Github.

Se você trabalhou em uma nova branch e quer subir ela para o Github, ao invés de subir para a master, é só digitar enquanto estiver na branch:

$ git push origin <nome da branch>

Se essa nova branch ainda não existia no Github, ela será criada lá. E caso você queira depois incorporar as mudança dessa branch na branch principal no Github, é só você clicar em Compare and Pull request.

*Dica! Você pode subir um arquivo de texto chamado README.md para seu repositório com uma descrição ou instruções sobre seu projeto, para informar outras pessoas por que seu projeto é útil, o que elas podem fazer com o projeto e como elas podem usá-lo.Esse texto será mostrado automaticamente assim que você ou qualquer um abrir o seu repositório no Github. Para maiores informações sobre o arquivo README.md, clique aqui.

14º Passo: Baixando as Atualizações de Um Projeto

Caso você esteja trabalhando colaborativamente, outras pessoas podem modificar o projeto, caso elas tenham autorização para isso, ou criar novas branches, e você pode querer baixar para sua máquina essas mudanças, assim como os membros da sua equipe.

Se rodarmos o comando abaixo, estaremos puxando os arquivos de código lá da master no Github:

$ git pull origin master

O git vai dizer se existem ou não diferenças entre os arquivos que estão no Github e os que já estão no seu computador, e quais são essas diferenças. Então, ele baixa somente se houver algo diferente para atualizar.

15º Passo: Clonando um Repositório

Digamos que você é novo em um projeto que já existe lá no Github e ainda não possui ele no seu computador, ou encontrou um repositório público muito legal por lá e deseja baixá-lo, você pode clonar um repositório.

Primeiro, você vai até o repositório no Guthub que você deseja baixar. No canto superior direito clique no botão verde chamado “Clone or Download”. Nele você poderá baixar os arquivos ZIP ou (como recomendo) ele dará um link pra você baixar pelo Git no seu terminal.

Você copia esse link, vai lá no seu terminal dentro da pasta pra onde você quer clonar o projeto e digita:

$ git clone <link>

E pronto, você agora pode rodar e modificar os arquivos como quiser, e depois subir novamente pro Github :)

É isso, pessoal! Eu utilizei esse passo-a-passo pra ir colocando o que eu ia estudando a respeito de Git e Github, pra que eu mesma possa voltar e relembrar quando quiser.

Até a próxima!

--

--

Nicole Wirtzbiki
21 Tech
Writer for

Hi, I'm Nicole :) ● Master in Data Science and AI ● Architect and Urbanist ● ’21 Tech’Blog ●