DEV Community

Francisco Júnior
Francisco Júnior

Posted on

Guia dos Comandos Avançados do Git

Neste guia, exploraremos comandos avançados do Git que são úteis para desenvolvedores mais experientes que desejam aprimorar seu controle de versão e habilidades de colaboração. Os comandos avançados do Git podem ajudá-lo a lidar com situações complexas e otimizar seu fluxo de trabalho de desenvolvimento.

1. git rebase

O comando git rebase é usado para reorganizar e simplificar o histórico de commits, combinando uma série de commits em um único commit ou reorganizando a ordem dos commits. Isso pode tornar o histórico mais limpo e fácil de entender. Por exemplo, para reorganizar os últimos três commits:

$ git rebase -i HEAD~3
Enter fullscreen mode Exit fullscreen mode

Isso abrirá um editor onde você pode escolher como deseja reorganizar os commits.

2. git cherry-pick

O comando git cherry-pick permite copiar um commit específico de uma ramificação para outra. Isso é útil quando você deseja aplicar um único commit a uma ramificação diferente. Por exemplo, para aplicar um commit específico de outra ramificação:

$ git cherry-pick <commit-hash>
Enter fullscreen mode Exit fullscreen mode

3. git reflog

O comando git reflog permite visualizar o histórico de referências (como ramificações e cabeças) no repositório. Isso é útil para recuperar commits perdidos ou desfazer ações acidentais. Por exemplo:

$ git reflog
Enter fullscreen mode Exit fullscreen mode

4. git bisect

O comando git bisect é usado para encontrar o commit que introduziu um erro em um repositório. Você marca um commit como ruim (contendo o erro) e um commit como bom (sem o erro), e o Git usa uma busca binária para encontrar o commit culpado. Por exemplo:

$ git bisect start
$ git bisect bad
$ git bisect good <commit-hash>
Enter fullscreen mode Exit fullscreen mode

O Git ajudará você a encontrar o commit que introduziu o erro.

5. git submodule

O comando git submodule permite que você inclua outros repositórios Git em seu repositório. Isso é útil quando você deseja usar bibliotecas ou módulos de terceiros em seu projeto. Por exemplo, para adicionar um submódulo:

$ git submodule add <URL-do-submódulo>
Enter fullscreen mode Exit fullscreen mode

6. git stash

O comando git stash é usado para salvar temporariamente as mudanças não confirmadas em um stash, permitindo que você alterne de ramificações ou realize outras operações sem confirmar as mudanças. Por exemplo:

$ git stash save "Minhas alterações temporárias"
Enter fullscreen mode Exit fullscreen mode

Você pode aplicar essas mudanças posteriormente usando git stash apply.

7. git worktree

O comando git worktree permite que você trabalhe com várias cópias de um repositório Git em diretórios separados no mesmo sistema de arquivos. Isso é útil quando você deseja trabalhar em várias ramificações ou versões do código simultaneamente. Por exemplo:

$ git worktree add -b nome-da-ramificaremota caminho-da-nova-pasta
Enter fullscreen mode Exit fullscreen mode

Isso criará uma nova cópia do repositório no diretório especificado.

8. git filter-branch

O comando git filter-branch é uma ferramenta avançada usada para reescrever o histórico de commits. Pode ser útil para tarefas como remoção de arquivos confidenciais ou reorganização de um repositório. No entanto, use-o com cuidado, pois ele reescreve o histórico. Um exemplo de uso é:

$ git filter-branch --tree-filter 'rm -f arquivo-secreto' HEAD
Enter fullscreen mode Exit fullscreen mode

Isso removerá o arquivo secreto de todos os commits.

Esses comandos avançados do Git são úteis em situações específicas e podem ajudar a aprimorar seu controle de versão e fluxo de trabalho de desenvolvimento. No entanto, é importante lembrar que esses comandos também podem ter um impacto significativo no histórico do seu repositório, portanto, use-os com cuidado e faça backup de seus dados antes de realizar operações críticas. À medida que você se torna mais experiente com o Git, você pode explorar esses comandos avançados

Top comments (0)