Muito bom!
Complementando: sobre os comandos switch e restore, eu já fiz este post. Vale lembrar que por muito tempo a documentação oficial (aqui e aqui) dizia que eles eram comandos experimentais e poderiam mudar.
De qualquer forma, é interessante conhecê-los, pois a partir da versão 2.51.0 (agosto de 2025), eles deixaram de ser experimentais, e pode ser que passem a ser mais usados.
Por fim, já que a ideia é ir além do básico, tem dois posts meus que falam sobre detalhes internos do Git, e que ajudam muito a entender melhor como ele funciona: