@Antichesse Oui il était tard, bien vu. Bien sûr qu'il faut pousser sur maBranche sur le remote. C'est corrigé.
Pour squash et rebase :
1) Se placer sur la branche master (ou main si ça vous chante) et la mettre à jour :
git checkout master
git pull origin master
2) Se placer ensuite sur la branche à rebaser :
git checkout maBranche
3) Décider du nombre de commits à squasher (ici 5) :
git rebase -i HEAD~5
Ou trouver le hash du commit précédant le premier commit à squasher :
git rebase -i b0ce09a46ae1e130141f11841cd66db000a4712b
4) Pousser le code sur le remote :
git push --force origin maBranche
5) Ne pas hésiter à remettre à jour la branche master. Puis revenir sur la branche maBranche et rebaser sur master :
git checkout master
git pull origin master
git checkout maBranche
git rebase master
6) Résoudre les conflits de merge avec l'éditeur de texte qui va bien, puis pousser vers le remote :
git push --force origin master
7) Finalement, retourner sur la branche master, merger la branche maBranche et pousser les commits vers le remote :
git checkout master
git merge maBranch
git push origin master
Voilou !