Git es posible revertir una extracción incorrecta o empujar solo la confirmación elegida?

Acabo de hacer algo realmente estúpido y no sé cómo solucionarlo.

Se trata de git. Creé un nuevo proyecto en bitbucket y luego lo cloné en mi computadora local. Hice algunas modificaciones y varios commits pero no push. Entonces me di count de que tenía que transferir mi proyecto a otro usuario. Así que transferí mi proyecto y actualicé el enlace al repository remoto en mi máquina local. Pero cometí un error y copié un enlace incorrecto a otro repository. Luego lo hice peor porque no me di count de mi error. Hice un tirón. Y la acción de extracción fusionó este otro repository remoto en mi repository local. En este momento, me di count de mi error y arreglé el enlace de mi repository remoto. Pero ahora no puedo hacer un nuevo esfuerzo porque si hago un push ahora, enviaré mis commits pero también todos los files de este otro repository.

¿Qué puedo hacer revertir una extracción incorrecta? ¿O es posible enviar solo mis commits específicos solamente?

EDITAR –

  1. Obtenga el hash de confirmación que tenía cuando estaba en estado OK: puede usar "git reflog" y ver la 2da línea, que puede ser su "HEAD" anterior. También puede usar la confirmación a la que se hace reference o "HEAD @ {1}".
  2. Haga "git reset –hard" a ese commit.
  3. Si está contento con su "logging git" ahora, puede presionar. ¡Revisa lo que estás presionando!

PD: Para estar realmente seguro de lo que está presionando, puede verificar:

git fetch git log HEAD..origin/master #or whatever be your remote branch