Introdução ao Git Tools
Temos ferramentas super eficazes disponíveis com o git, que podem tornar nosso rastreamento de versão eficaz, de maneira a fornecer um significado mais profundo ao sistema de controle de versão. Essas ferramentas automatizadas nos salvam da maioria das tarefas difíceis e do rastreamento enquanto trabalhamos nas filiais.
Alguns casos em que as ferramentas git ajudaram muito podem ser encontrados em detalhes abaixo:
Várias ferramentas Git
Algumas das áreas em que as ferramentas git podem ser aplicadas efetivamente:
- Seleção de Revisão
- Preparação Interativa
- Armazenamento e limpeza
- Assinando seu trabalho
- Ferramentas de pesquisa - Grep
- Reescrever o histórico
- Ferramentas para mesclagem avançada
- Ferramentas para depuração
- Sub-módulo Git etc
1. Seleção de Revisão
Uma das ferramentas mais eficazes para trabalhar em confirmações. Podemos acompanhar os commits que realizamos e podemos encaminhá-los com base em nossos requisitos. Existem duas maneiras pelas quais podemos chegar a um commit.
- Confirmações individuais ou individuais
- Compromissos de intervalo
Único de confirmações individuais: Sempre que confirmarmos algo no git, a chave de hash SHA-1 correspondente será gerada e, com base nessa chave, podemos referenciá-los ao simples comando git show. A chave SHA - 1 é gerada a partir do algoritmo de hash que recebe entrada e gera valor de hash de 160 bits ou 20 bytes
- A captura de tela de exemplo pode ser vista abaixo, onde o git log apresenta todos os respiradouros realizados na ramificação e podemos nos referir a um commit específico com seu valor de hash específico. Aqui estou me referindo a commit_test2. Também podemos usar notação abreviada no comando show e o git identificará sua chave e fornecerá seus detalhes. Como abaixo:
- Da mesma forma, podemos usar flogs e HEAD com git para obter detalhes de cada evento, conforme mostrado na captura de tela abaixo. O primeiro evento no ramo é denominado como HEAD ou Master.
Especificar confirmações de faixa: Também podemos especificar confirmações de faixa usando o comando show. Isso é mais útil quando temos várias ramificações e queremos saber onde elas estão sendo mescladas etc.
- Acima, refA refere-se ao ramo A e refB refere-se ao ponto B. A primeira instrução acima representa o intervalo de confirmação entre os ramos de referência A e B, enquanto o segundo intervalo de confirmação, que não está no intervalo dos ramos A e B. A terceira declaração na captura de tela acima é semelhante à segunda.
2. Encenação Interativa
- Com uma ferramenta de teste interativa, você pode reproduzir ou adicionar mais significado aos seus commit. Você pode selecionar quais alterações precisam ser testadas e quais não. Essa ferramenta específica é útil quando efetuamos modificações em vários arquivos, mas não temos certeza de algumas dessas alterações. Portanto, em vez de confirmar toda essa ferramenta de preparação interativa, você ajuda a confirmar apenas os arquivos ou partes necessárias no arquivo, decidindo o que precisa ser preparado e não preparado.
- Na captura de tela abaixo, temos quatro arquivos em estágios e, com o armazenamento temporário interativo, usando as opções interativas git add -I ou git add – adicionei apenas dois arquivos ao armazenamento temporário e os dois arquivos restantes ainda não foram organizados. Assim, podemos facilmente confirmar os arquivos temporários e ainda trabalhar em alterações de arquivos não faseados e confirmar posteriormente.
- Precisamos usar a opção update (u ou 2) no prompt agora> para adicionar os arquivos à preparação.
- Se você observar a primeira captura de tela após a atualização >> 2, 3, podemos ver que na 2ª e na 3ª linha * está marcado o que indica o arquivo ou parte selecionada a ser preparada e se pressionar novamente a tecla, as teses 2 e 3 serão preparadas. Na próxima confirmação, os arquivos temporários serão confirmados.
- Da mesma forma, podemos usar outras ferramentas interativas como revert (3 ou r) para reverter as alterações feitas no arquivo, diff (6 ou d) para obter a diferença ou modificação feita no arquivo, como mostra a captura de tela acima. Apliquei diff no arquivo news1, em que vermelho mostra a modificação removida e em verde foi adicionado recentemente. Da mesma forma, as opções de correção podem ser usadas para preparar apenas determinadas partes de um arquivo específico, não o arquivo completo.
3. Esconder e Limpar
- Algumas vezes, podemos ter que mudar as ramificações para trabalhar em outra coisa e não queremos confirmar as alterações feitas no trabalho pela metade, mas as alterações precisam ser rastreadas e salvas. A solução está usando uma ferramenta de git stashing. O Git stash coletará todos os seus arquivos e locais preparados e rastreados em uma pilha, para que possamos reaplicar as alterações sempre que quisermos trabalhar nele novamente.
- Se eu aplicar o status git ao meu diretório de trabalho atual, ele se parecerá com a captura de tela abaixo:
- Aqui, temos dois arquivos em etapas e os arquivos restantes em etapas. Agora, quando eu aplicar o git stash, todas as minhas alterações que estão sendo rastreadas, ou seja, preparadas e não preparadas, serão movidas para uma pilha de memória com o ID do stash, conforme mostrado na captura de tela abaixo
- Depois de aplicar o stash e o status git, podemos ver que não há nada a confirmar no ramo e todas as minhas alterações foram movidas. Podemos ver as versões stash que temos na memória pelo comando git stash list como mostrado abaixo.
- Podemos ter duas versões de dados stash salvas na pilha e podemos recuperá-las novamente aplicando o comando git stash apply que aplicará o stash superior da pilha. Se quisermos aplicar um stash específico, podemos enviá-lo, como mostrado na captura de tela abaixo.
- Eu apliquei (0) e meus arquivos foram novamente aplicados. Mas há uma grande diferença quando apliquei stash back. Você pode observar que, antes de aplicar o stash, dois dos meus arquivos foram testados e permanecem sem teste. Mas depois de aplicar e reaplicar o stash, todos os meus arquivos ficam sem estágio. O Stash não cuidará dos arquivos que estão em estágios ou não. Ele adiciona tudo ao estado sem estágio. E mesmo depois de aplicar o stash, permanecerá na memória da pilha.
- Precisamos mencionar explicitamente o comando git stack drop. Como alternativa, também podemos usar o status pop do git para aplicar o stash e soltá-lo de uma só vez.
- Você pode ver na tela acima que soltei (0) e, na lista, podemos ver (1) que eu tinha anteriormente voltará para a pilha superior (0)
- Você pode ver o uso do comando pop na captura de tela acima, onde estou aplicando (1) e soltando-o de uma só vez pelo comando pop. Na lista stash do git, você pode ver que anteriormente eu tenho duas versões stash, mas agora apenas uma desde que outras foram descartadas.
- Semelhante ao stash, que apresenta um diretório de trabalho limpo, armazenando arquivos modificados na pilha, também podemos usar o comando git clean. Mas aqui não poderemos salvar ou reaplicar nada de volta e devemos ser cuidadosos e certos ao usá-lo. Geralmente é melhor preferir esconderijo do que limpar. Também existem várias subopções ao usar o git clean que podemos explorar.
Conclusão
Essas são algumas das ferramentas que simplificaram muito nosso trabalho confuso nas filiais e existem outras ferramentas, especialmente como Submodule, Debug, Advanced Merge, etc., que podem nos ajudar mais em várias situações enquanto trabalhamos nas filiais também.
Artigos recomendados
Este é um guia para o Git Tools. Aqui discutimos várias ferramentas do Git em detalhes. Você também pode consultar nossos outros artigos relacionados para saber mais.
- O que é o Git Branch?
- O que é o Git?
- Terminologia Git
- Comandos GIT
- Sistema de Controle de Versão GIT
- Git Push
- Três estágios do ciclo de vida do Git com o fluxo de trabalho