Comandos do Git que Todo Desenvolvedor Deve Conhecer

O Git é uma parte fundamental do dia a dia dos programadores (especialmente se você estiver trabalhando em equipe) e é amplamente utilizado na indústria de software.

Como há muitos comandos disponíveis, dominar o Git leva tempo. Porém, alguns comandos são usados com mais frequência (alguns até diariamente). Neste post, vou compartilhar comandos Git mais utilizados que todo desenvolvedor deve conhecer.

Git clone

O comando git clone é usado para baixar o código-fonte de um repositório remoto (como o Github, por exemplo). Em outras palavras, o git clone cria uma cópia idêntica da versão mais recente de um projeto de um repositório e a salva no seu computador.

Existem algumas formas de baixar o código-fonte, mas eu geralmente prefiro usar o método de clonagem com HTTPS:

git clone <link-do-repositorio>

Git branch

As branches (ramificações) são essenciais no Git. Usando branches, vários desenvolvedores podem trabalhar simultaneamente no mesmo projeto. O comando git branch é usado para criar, listar e excluir branches.

Criando uma nova branch:

git branch <nome-da-branch>

Listando branches:

git branch ou git branch --list

Excluindo uma branch:

git branch -d <nome-da-branch>

Git checkout

Este é outro comando muito utilizado. O comando git checkout é usado principalmente para alternar entre branches, mas também pode ser usado para verificar arquivos e commits.

git checkout <nome-da-branch>

Existem alguns passos a seguir para trocar de branch com sucesso:

  1. As mudanças na branch atual precisam ser comprometidas ou guardadas antes de alternar.

  2. A branch para a qual você quer mudar deve existir localmente.

Você também pode criar e mudar para uma branch ao mesmo tempo com o seguinte comando:

git checkout -b <nome-da-branch>

Git status

O comando git status nos fornece todas as informações necessárias sobre a branch atual.

git status

Com ele, você pode obter informações sobre:

  • Se a branch está atualizada

  • Se há algo para ser comprometido, enviado ou baixado

  • Se existem arquivos "staged", "unstaged" ou "untracked"

  • Se há arquivos criados, modificados ou deletados

Git add

Quando criamos, modificamos ou deletamos um arquivo, essas mudanças acontecem localmente e não serão incluídas no próximo commit, a menos que alteremos as configurações. Para incluir as mudanças de um arquivo(s) no próximo commit, usamos o comando git add.

Para adicionar um arquivo específico:

git add .

Git commit

Este pode ser o comando mais utilizado do Git. Quando atingimos um ponto no desenvolvimento, queremos salvar nossas alterações (talvez após uma tarefa ou resolução de um problema). O git commit é como um ponto de salvamento no processo de desenvolvimento, ao qual você pode voltar posteriormente, se necessário.

Também é necessário escrever uma mensagem curta explicando o que foi desenvolvido ou alterado no código-fonte.

git commit -m "mensagem do commit"

Git push

Após comprometer suas alterações, o próximo passo é enviá-las para o servidor remoto. O git push faz o upload dos seus commits para o repositório remoto.

git push <remoto> <nome-da-branch>

Git pull

O comando git pull é usado para obter atualizações do repositório remoto. Ele é uma combinação dos comandos git fetch e git merge, ou seja, ao usar git pull, ele baixa as atualizações do repositório remoto (git fetch) e aplica as últimas mudanças no seu local (git merge).

git pull <remoto>

Git merge

Quando você termina o desenvolvimento em sua branch e tudo está funcionando corretamente, o último passo é mesclar sua branch com a branch principal (geralmente dev ou master). Isso é feito com o comando git merge.

git merge <nome-da-branch>

Git tem muitos outros recursos, e vou explicar mais sobre eles em artigos futuros.

Obrigado por ler, e até a próxima!

0
Subscribe to my newsletter

Read articles from Fernando Bezerra directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Fernando Bezerra
Fernando Bezerra

Sou Full Stack e escritor amador entusiasmado por desenvolvimento de software. Compartilho meu entusiasmo pela tecnologia e complexidades do desenvolvimento através da escrita.