Guia dos Comandos Avançados do Git

Francisco Júnior - Oct 30 '23 - - Dev Community

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player