git version-control github github-for-mac

Rollback to Previous Commit-Github para MAC(ya se está realizando una reversión)



version-control github-for-mac (1)

No sé lo que hace Github para Mac rollback, pero parece que sería mejor usar la línea de comandos para resolver el problema en cuestión:

git cherry-pick --abort - para detener cualquier cherry picking en curso

git branch -va - te mostrará dónde están tus punteros ahora mismo

asegúrese de que su directorio de trabajo esté limpio: git status - no debe mostrar ningún archivo modificado o en etapas

git stash - si hay algo modificado todavía presente

git reset --hard your_local_branch github/remote_branch - hace que la rama local refleje el estado tal como está en el lado remoto. obviamente, no necesita hacer un reinicio si su rama actual apuntará a la misma confirmación que el control remoto. Si se encuentra en el estado HEAD desapegado (el estado de git le informará al respecto), para volver al estado normal, simplemente revise su sucursal local.

Ahora decide lo que realmente quieres lograr:

I. ¿Deshacerse de los cometidos defectuosos?

Use la rebase interactiva y elimine la línea con un compromiso defectuoso, luego fuerce el envío al repositorio remoto en github (digamos que el compromiso defectuoso ocurrió hace 10 confirmaciones)

git rebase -i HEAD~11

II. revertir cometido defectuoso? - no recomendaría hacerlo después de otras confirmaciones, a menos que esté absolutamente seguro de que las siguientes confirmaciones no tocaron el mismo fragmento de código. Esto creará efectivamente una confirmación inversa (si la línea fue agregada por una confirmación defectuosa, se eliminará por revertir y viceversa)

git revert {commit-sha1}

III. Enmendar cometido defectuoso? use rebase interactivo, pero indíquele que se detenga en la confirmación defectuosa para enmendar. Cuando se detenga, edite el cambio y continúe cambiando de base, luego fuerce el empuje a la rama remota (use el comando rebase de la solución I)

Una vez que hayas terminado, si algo fue escondido, usa git stash pop para recuperar los cambios.

¡Espero que ayude!

Creo que he arruinado aquí.

Hice algunos cambios en mi código después de un último compromiso al agregar nuevas funcionalidades y me di cuenta de que alguna otra pieza de código ahora estaba actuando de manera extraña. Decidí retroceder a un antiguo compromiso (empujado a remoto también) para probar si esa funcionalidad estaba funcionando para entonces.

Antes de presionar Restablecer, cometí mis cambios realizados actualmente porque no quería perderlos. Después de cometer (no empujar a remoto), realicé la reversión a ese compromiso anterior. (tenga en cuenta que hubo bastantes compromisos entre la confirmación de la tirada hacia atrás y la que acabo de confirmar).

Todo funcionó bien y mi código volvió a ese compromiso. La funcionalidad también se estaba comportando mal en ese compromiso, así que decidí volver a mi compromiso más reciente.

Sin embargo, no sabía cómo hacerlo excepto Rolling Back a la última confirmación. Pero me dio un error.

error: a cherry-pick or revert is already in progress hint: try "git cherry-pick (--continue | --quit | --abort)" fatal: revert failed (32768)

Ahora, parece que la mayoría de las cosas están de vuelta, pero la versión actual del código no es la misma que mi última confirmación. Está en un punto intermedio. = (

¿Qué hice mal? [No pregunto por inocencia, sé que lo hice mal;)]

¿Cuál fue la forma correcta de hacerlo? [Creo que debería haber ramificado primero]