"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Você realmente conhece o Git?

Você realmente conhece o Git?

Publicado em 2024-11-07
Navegar:543

Do you really know Git?

As imagens neste blog vêm de "Pro Git" de Scott Chacon, Ben Straub

Neste blog, você lerá sobre todos os tipos de fatos interessantes sobre alguns dos recursos diários do Git que você usa na programação!

É fácil para os desenvolvedores usarem ferramentas cegamente e não saberem como elas funcionam nos bastidores. Embora essas abstrações sejam para melhor, saber como as coisas funcionam às vezes pode ser o que faz a diferença entre um programador experiente e um amador.

Vamos mergulhar em alguns fatos interessantes!


1 - Status curto

Se você já usa o Git há algum tempo, você deve saber sobre o status do git. No entanto, você sabia que existe uma opção para obter uma saída de status mais legível e mínima?

Ao usar o sinalizador de status curto, -s, você obtém um formato mais compacto.

$ git status -s
 M README
MM Rakefile
A  lib/git.rb
M  lib/simplegit.rb
?? LICENSE.txt

Você notará que há 2 colunas na seção esquerda da saída. A coluna da esquerda representa o status da área de preparação, enquanto a coluna da direita representa o status da árvore de trabalho. A ordem das ações também é representada cronologicamente da esquerda para a direita.

Vamos interpretar a saída acima:

  • " M" - modificado, mas não encenado
  • "MM" - encenado e modificado novamente. Assim, uma etapa adicional é necessária para o próximo commit.
  • "A " - um novo arquivo foi criado e preparado
  • "M " - encenado
  • "??" - um novo arquivo foi criado, mas não foi preparado (não rastreado)

2 – Ignorando a área de preparação

E se você quiser preparar seus arquivos rastreados e enviar tudo em um comando?

Você pode fazer isso usando git commit -a -m "message".

Observe que arquivos não rastreados (arquivos recém-criados) não serão testados com este comando mágico, infelizmente.


3 - Veja seu histórico de commits

Use git log para listar os commits feitos em seu repositório em ordem cronológica inversa (os commits mais recentes aparecem primeiro).

Existem várias opções que permitem personalizar a saída. Vejamos alguns úteis:

  • -{número} limita o número de entradas de log exibidas (por exemplo, git log -2 mostra as duas últimas entradas)
  • --stat mostra estatísticas abreviadas como número de arquivos ou número de inserções/exclusões para cada commit
  • --pretty=oneline imprime cada commit em uma única linha
  • --graph adiciona um gráfico ASCII mostrando sua ramificação e histórico de mesclagem

4 – Desfazendo coisas usando Git Restore

Quando você quiser desestabilizar um arquivo, use git reset HEAD . Quando você quiser cancelar a modificação de um arquivo modificado, use git checkout -- {file}.

Agora existe uma maneira mais fácil de fazer as duas coisas! A versão 2.23.0 do Git introduziu o git restore, que traz uma capacidade 2 em 1 para desestabilizar e não modificar arquivos.

  • git restore {file} - não modifica um arquivo modificado
  • git restore --staged {file} - desestabilizar um arquivo preparado

5 – Git Fetch x Git Pull

Provavelmente você já usou git pull pelo menos uma vez como programador. Além disso, você provavelmente já ouviu falar sobre git fetch, mas nunca teve a necessidade de usá-lo. Bem, vamos falar sobre o que ele realmente faz e como é diferente do git pull.

Você pode pensar em fetch apenas como a primeira etapa do que acontece em um pull.

Em um pull, baixamos todos os dados do repositório remoto e os transferimos para o repositório local. Isso é o que uma busca faz.

Neste ponto, seu repositório local possui os dados, mas não os fundiu com o diretório de trabalho para que você possa trabalhar nas alterações mais recentes. A próxima etapa de um pull é mesclar com sua ramificação para que as alterações mais recentes estejam em seu diretório de trabalho.

Assim, um pull busca e mescla tudo de uma vez, enquanto um fetch executa apenas a primeira etapa.


6 - Aliases do Git

E se eu lhe dissesse que existe uma maneira de tornar seus comandos git personalizáveis? Através do git config, você pode!

Você pode definir aliases para comandos usados ​​com frequência, como:

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

Agora, em vez de digitar git commit, você só precisa digitar git ci.

Isso é especialmente útil para comandos que ajudam a tornar uma determinada tarefa mais intuitiva.

$ git config --global alias.unstage 'reset HEAD --'
# the double dash serves as an option separator. 
# It tells Git to treat anything after it as a filename

O comando acima torna os seguintes comandos equivalentes:

  • git arquivo unstageA
  • git reset HEAD -- arquivoA

Também é comum adicionar um comando último para ver seu commit mais recente:

$ git config --global alias.last 'log -1 HEAD'

Isso é tudo por este blog! Espero que você tenha aprendido alguns truques interessantes para seu próximo projeto com Git que irão melhorar a qualidade do seu fluxo de trabalho. Obrigado por ler!

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/jihoonj/do-you-really-know-git-456d?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3