Git básico para iniciantes

Fala pessoal!
Muitos devs que estão começando ainda tem uma certa dificuldade em utilizar o git para versionar seus projetos e acabam utilizando algumas interfaces gráficas que em alguns(vários) momentos acabam mais atrapalhando do que ajudando.
Nesse pequeno artigo iremos ver comandos simples do git para você aposentar de uma vez por todas a interface gráfica e partir para o terminal, seja dentro do Vscode ou no próprio shell.

Instalando o GIT

Existem diversas maneiras de instalar o git no seu computador, no caso do Mac e Linux eu aconselho a instalar direto pelos repositórios, e o Windows, infelizmente você terá que baixar o arquivo.

Instalando no MAC
Para instalar no mac você inicialmente precisa ter o brew e assim você pode usar o comando brew install git e após a finalização, poderá usar os comando via linha de comando normalmente

Instalando no LINUX
Para instalar no linux vai depender exclusivamente da sua distro. Os comandos podem variar em apt-get , dnf , yum install git e assim como no mac após executado e instalado o git já estará liberado para utilizar via linha de comando.

Instalando no Windows
Para instalar no windows é um pouco diferente, você precisa baixar o arquivo mais recente no link do gitHub , fazer o download, instalar e ai sim você estará liberado para acessar o git via linha de comando.
Você poderá testar se tudo está funcionando digitando este comando no seu terminal

git --version

Principais meios de utilização do GIT

— Clonar um repositório que já existe no git ou criar um projeto do zero na sua máquina;
— Ver os arquivos que foram alterados;
 — Adicionar os arquivos na lista de inclusão do git;
 — Comitar e enviar o código para o repositório;
 — Pesquisar se existe alguma atualização no repositório.

Nota: Levaremos em consideração no artigo somente repositórios em modo público

Utilize o control+ F para navegar entre “já existe” e “do zero“. para navegar entre as 2 opções pois o medium não tem sumário.

1 — Como clonar um repositório que já existe

O git nos oferece uma boa opção para versionamento de código entre membros da equipe, assim o mesmo código e o mesmo repositório podem estar em X máquinas diferentes, e caso você esteja começando no projeto, é necessário baixar esse arquivo para sua máquina para começar o trabalho.

Então o comando principal é o git clone. O git clone é responsável por, literalmente, clonar o repositório para a sua máquina, assim você terá uma copia fidedigna no projeto no momento do clone.
Utilizaremos o repositório criado no seu git para que você possa enviar os arquivos.

Vá em https://github.com/new, crie um repositório vazio mesmo e se tudo der certo você vai ter uma pasta parecida com isso:

Com o nome do repositório em mãos vc só precisa escolher uma pasta e escrever

git clone {repoistorio}

Provavelmente como é um repositório vazio é esperado que você receba o seguinte warning:
warning: You appear to have cloned an empty repository.
Mas não se preocupe é só o git avisando que você clonou um repositório vazio.

Existem alguns casos, como por exemplo, node, php, dart que é necessário executar a instalação dos pacotes, seja por npm, composer e pub get, pois nunca é recomendado subir as pastas de pacotes juntos com o repositório.

Caso você tenha feito tudo certo, o seu repoistório estará lá na sua pasta porém vazio, somente com a pasta .git
Abra seu projeto no editor de código da sua escolha(eu gosto do VScode) e você irá ver uma pasta vazia, então iremos criar nosso primeiro arquivo de teste chamado README.md e escreva qualquer coisa dentro dele. Esse README vai aparecer na sua pagina inicial do seu repositório

Feito isso, vamos para o shell na pasta do nosso repositório e digitar

git status

Esse comando irá mostrar todos os arquivos que foram modificados ou que foram criados recentemente.

Então iremos fazer os comandos base para enviar algum artigo pro repositório:

git add README.md (ou o arquivo que for ser enviado)
git commit -m “Descricao do que o arquivo faz e o que foi alterado”
git pull origin master — Para ver se existe alguma alteração no repositório como um todo antes de enviar seu arquivo
git push origin master — envia efetivamente seus arquivos que foram dados ADD pro repositório

Caso você agora abra seu repositório ele estará com o texto que foi digitado na página incicial

ALTERANDO UM ARQUIVO JÁ EXISTENTE

Acho que isso irá acontecer em 99,99% dos casos , quando você irá fazer uma alteração no código e que é necessária. Com isso iremos ver o comando

git diff

O git diff serve exatamente para ver o que foi alterado da versão que está no repositório com a sua. Para fazermos esse teste, após esse commit , vamos
trocar o texto do Readme.md para ” README ALTERADO COM SUCESSO”

Utilize novamente o git status (esse comando será seu amigo para sempre) Você vai ver que alterou o estilo de visualização dos arquivos, não irá mais aparecer que o seu REAME ainda não foi enviado e sim que foi alterado

E se utilizarmos o git diff, ele vai mostrar exatamente o que foi removido (em vermelho, e o que foi adicionado ( em verde) para que você veja se está tudo certo ou não

Se você tiver certeza da alteração do seu código é só repedir o git add com os arquivos que você alterou e ai seguir o , commit , pull e push. fazendo isso, seu repositório ficará basicamente assim:

ENVIANDO SEU REPOSITÓRIO DO ZERO COM CÓDIGO JÁ EXISTENTE

Esse cenário também é extremamente comum, quando você começa a fazer um projeto na sua máquina e quando tem uma versão minimamente estável, você quer versionar, para que outras pessoas possam alterar ou você mesmo em outros locais, além de backup e etc.

Criei uma estrutura teste dentro do meu Vscode de um ‘projeto’ sem nenhum vínculo com o git somente pastas, arquivos, simulando exatamente um projeto no início que ainda não está no git

O que iremos fazer é o mesmo passo de criação do repositório em https://github.com/new e criar um repositório vazio, que também nesse caso irá retornar um projeto git para você:

A diferença entre um projeto que já se inicia versionado e um projeto que se inicia limpo e depois é versionado é que precisamos iniciar o git na pasta e adicionar manualmente o repositório na pasta.
Iremos iniciar nossa pasta com o

git init

Que vai te retornar uma mensagem parecida com essa: Initialized empty Git repository in ……

Após isso precisamos indicar ao git para qual repositório ele vai. e ai entra o comando crucial para o projeto

git remote add origin {seu git}

Assim se utilizar o comando git remote -v, você irá ver que a pasta do git já está vinculada ao repositório em questão.

No primeiro git para o repositório eu costumo utilizar o seguinte comando, pois as vezes tem muito arquivo e como é o primeiro commit, não tem arquivos para ver se tem diferença ou não.

git add -A .

Esse comando irá colocar todas as pastas/arquivos no seu repositório , prontos para dar o commit com uma mensagem , e o push (nesse primeiro caso não é necessário dar o pull, pois ainda não existe nada)

git commit -m “primeiro commit”
git push origin master

Feito isso, seu projeto já estará no seu repositório pronto para ser compartilhado

Esse era o artigo inicial de git.
Obviamente existem dezenas de outros arquivos, como fazer branch, fork, pull request entre outros. mas isso posso deixar para outro artigo, o importante inicialmente é colocar seus projetos em repositórios.

Espero que tenham gostado e até a próxima!