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!
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:
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.
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:
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.
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.
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:
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!
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