Desbravando o Universo do Git: Do Básico ao Avançado

Olá comunidade de desenvolvedores!😎

Estou em uma busca intensa para aprimorar minhas habilidades em Git e procuro recomendações de blogs em português que vão além da documentação. Se vocês conhecem algum lugar que cobre desde do basico até os truques avançados, ficaria muito grato pela indicação.

Seria incrível se pudessem compartilhar exemplos práticos, como lidar com conflitos de merge complexos ou estratégias avançadas de ramificação.

Em português, tem alguns que indico abaixo.

Primeiro, três respostas minhas no Stack Overflow:

  • Sobre o git reset, aqui tem uma explicação detalhada sobre as diferentes opções (soft, mixed e hard)
  • E este explica sobre os estados de um arquivo (staged, modified, etc)
  • Aqui tem um caso de merge, não sei se é o que vc espera. Claro que não cobre todos os casos avançados possíveis, mas enfim.

Por fim, tem também alguns posts meus aqui no TabNews. Os dois primeiros falam sobre detalhes internos do Git, que ajudam muito a entender melhor como ele funciona. O terceiro é sobre dois comandos que existem há algum tempo mas raramente vejo em tutoriais:

E em cada um destes que indiquei tem mais links para complementar.


Mas vale lembrar que a maioria do material bom ainda está em inglês, como por exemplo este artigo, que achei esclarecedor para entender melhor sobre rebase.

@kht muito obrigado pela dica. sempre que me deparo com o git achei um tremenda bobagem até o dia que foi necessário utilizá-lo. também vou dar uma olhada no conteudo em inglês caso tenha interesse de indicar, estou por aqui.

Realmente, encontrar problemas práticos do git como exemplo na internet é algum um tanto difícil, isso é algo que surge no dia a dia e, na medida que os problemas surgem a gente vai pesquisando e entendendo como lidar com cada tipo de situação. Já tive esta barreira quando quis aprofundar meus conhecimentos em git também, afinal, é muito difícil forçar um erro ou situação de conflito para si mesmo, pois quando fazemos isso, já sabemos a casusa e é intuitivo corrigí-lo.

Não tenho exemplos de questões de conflitos para te passar, mas tem um site que eu achei muito interessante para praticar alguns conceitos mais básicos de git, principalmente focado em branches. Neste site é abordado sobre as formas mais comuns de lidar com branches, como realizar um simples commit, até entender como funciona e realizar resets, reverts, rebase, cherry-pick, etc.

O legal é que ele não é somente conteúdo textual ensinando, existe uma interface interativa que você mesmo resolve alguns problemas propostos na prática. O site que eu me refiro é este aqui: https://learngitbranching.js.org/