Sì, puoi recuperare i commit dopo git push -f your_branch
Testo da Doc :
Elimina le voci più vecchie del tempo specificato. Se questa opzione non è specificata, l'ora di scadenza viene presa dall'impostazione di configurazione gc.reflogExpire, che a sua volta ha un valore predefinito di 90 giorni. --expire = tutte le voci eliminano indipendentemente dalla loro età; --expire = non disattiva mai l'eliminazione delle voci raggiungibili (ma vedi --expire-unreachable).
Quindi puoi fare:
1- git reflog

2- scegli Head_Number con cui vuoi recuperare git reset –hard HEAD@{HEAD-NUMBER}

3- puoi vedere tutti i commit su questa testa da git cherry -v branch_name
4- alla fine dovresti forzare la spinta git push -f branch_name
O
1- ottieni il numero di SHA dal tuo client GIT (interfaccia)
git reset --hard commit_SHA
2- forza di spinta
git push -f your_branch
Spero che sia di aiuto