DEV Community

Cover image for [PT-BR]Comandos do Git: básico ao avançado
Jason Hornet
Jason Hornet

Posted on

[PT-BR]Comandos do Git: básico ao avançado

Eu sei que já existem milhares de artigos como esse por ai, mas como eu poderia fazer uma série de posts sobre Git e GitHub sem falar dos comandos?


No dia a dia estes comandos são utilizados com muito frequência.

Comandos Básicos

  • git config

Quando você está utilizando o Git pela primeira vez ou com uma instalação nova, em um projeto colaborativo, esse comando é fundamental para configurar sua identidade de usuário, as informações nome e email serão empregadas em cada commit.

$ git config –global user.name “Seu nome”

$ git config –global user.email “Seu email”


  • git init

O comando irá criar um repositório novo em branco e, a partir daí, será possível armazenar seu código fonte, alterar, salvar alterações etc.

$ git init <Seu repositório>


  • git clone

Esse comando Git cria uma cópia exata de um repositório já existente.

$ git clone <URL do seu projeto>


  • git add

Esse comando Git adiciona os arquivos especificados ao seu repositório, sejam arquivos novos ou arquivos anteriores que foram alterados. Oferece diferentes possibilidades de sintaxe.

$ git add <nome do arquivo> esse comando irá adicionar o arquivo em específico ao repositório

$ git add esse comando irá adicionar todos os arquivos novos e/ou modificados ao repositório


  • git commit

É fundamental se estabelecer uma diferença entre git add e git commit: O git add adiciona seus arquivos modificados à fila para serem submetidos a um commit posteriormente. Os arquivos não passaram por um commit ainda.

É possível combinar os dois comandos em um único: $ git commit -a ou $ git commit -m "seu comentário"


  • git branch

É comum na maior parte do tempo possuir múltiplas variações em seu repositório Git, chamadas de branches (“ramificações”).

A princípio pode parecer fácil se perder em diversos caminhos, mas o comando git branch facilita o gerenciamento de tudo isso. Com diferentes parâmetros, é possível listar, criar ou apagar os branches.

$ git branch (lista todas as ramificações)

$ git branch <nome_do_branch> (cria um branch com o nome especificado)

$ git branch -d <nome_do_branch> (deleta o branch com o nome especificado)


  • git checkout <nome_do_branch>

Ainda sobre branches, esse comando Git pode ser utilizado para trocar de uma ramificação para outra.


Comandos Intermediários

  • git remote add <nome> <url>

Esse comando estabelece uma conexão entre seu repositório local e um repositório remoto.


  • git push -u <remote> <branch>

Esse comando serve para subir suas modificações para um repositório remoto conectado anteriormente com git remote.


  • git fetch

Quando você precisa baixar as mudanças criadas por outros membros do seu projeto colaborativo, você precisa do comando Git fetch. A partir desse comando, você irá receber todas as informações de commits, para avaliar, antes de aplicar essas alterações na sua versão local do repositório.


  • git pull <URL>

O comando Git pull baixa o conteúdo do que foi alterado no repositório remoto para o seu repositório local e o atualiza para a última versão.


  • git stash

Esse comando Git armazena temporariamente seus arquivos modificados em uma área chamada stash (“esconderijo”), sem interagir com os outros arquivos até ser necessário.

Para listar todos usamos:

$ git stash list

Quando for o momento de aplicar o conteúdo do stash a um branch, usamos o “apply”:

$ git stash apply


  • git show <hash_do_commit>

Quer detalhes específicos sobre um commit que o log não mostra? O comando Git show é a resposta.


  • git rm <nome_do_arquivo>

Para remover arquivos da sua pasta, você pode utilizar o comando git rm.


  • git merge <nome_do_branch>

Esse comando Git integra as mudanças de dois branches diferentes em um único branch. Ele precisa ser iniciado a partir de um branch já selecionado, que será mesclado com outro, com o nome passado por parâmetro.


Comandos Avançados

  • git rebase <base>

Git rebase a princípio parece fazer o mesmo que um merge: ele integra dois branches em um branch único. Porém, esse comando refaz o histórico de commits, tornando-o linear. É o mais indicado para consolidar múltiplos branches.


  • git pull –rebase

Essa é uma variação do comando pull mostrado anteriormente. A partir dessa instrução, o Git irá fazer um rebase (não um merge) depois de se utilizar um comando pull.


  • git cherry-pick <commit-hash>

Esse é um comando poderoso que permite selecionar qualquer commit específico de um branch e aplicá-lo a outro branch, sem precisar de uma mescla completa. A operação fica adicionada no histórico.


  • git archive –format zip HEAD > archive-HEAD.zip

Esse comando Git combina múltiplos arquivos em um único arquivo, como se fosse um arquivo zipado. Esse pacote pode ser aberto depois e os arquivos contidos podem ser extraídos individualmente.


  • git blame <nome_do_arquivo>

O comando “culpa” - blame - ajuda a determinar qual usuário realizou qual mudança em um determinado arquivo.


  • git tag -a <nome_da_tag>

Tags são uma boa opção para marcar uma branch e evitar alteração, principalmente em releases públicos.

Note que por boas práticas uma tag sempre é criada como uma versão $ git tag -a vX.X.X


  • git diff

Para comparar dois arquivos gits ou dois branches antes de passarem por um commit ou um push, é importante executar esse comando Git.

comparando o repositório ativo com o repositório local: $ git diff HEAD <nome_do_arquivo>

comparando duas ramificações: $ git diff <*branch* de origem> <*branch* de destino>


  • git citool

Esse comando Git oferece uma alternativa gráfica ao commit.


  • git whatchanged

Esse comando oferece informações de log, mas em formato raw.


Extra

  • git help <comando que se tem dúvida>

Existem inúmeros comandos no Git, muito mais do que os dessa lista, cada um com sua função, parâmetros e características. Felizmente, o próprio Git tem o comando help para trazer ajuda diretamente no terminal.

Top comments (0)