Estoy usando Sourcetree para Windows para un repositorio de git y me gustaría deshacer un commit no apresurado.
¿Es eso posible? Si hago "revertir confirmación", crea una segunda confirmación que revierte la primera confirmación, pero no quiero que la primera confirmación aparezca en absoluto en mi control de código fuente.
También podría eliminar mi repositorio local y volver a extraerlo sin mi confirmación local, pero ¿tal vez hay otra forma?
atlassian-sourcetree
datasourcecontrol
deimos1988
fuente
fuente
Respuestas:
Un restablecimiento parcial mantendrá sus cambios locales.
Fuente: https://answers.atlassian.com/questions/153791/how-should-i-remove-push-commit-from-sourcetree
Editar
Acerca de
git revert
: este comando crea una nueva confirmación que deshacerá otras confirmaciones. Por ejemplo, si tiene una confirmación que agrega un nuevo archivo,git revert
podría usarse para realizar una confirmación que eliminará el nuevo archivo.Acerca de aplicar un restablecimiento parcial: suponga que tiene los commits
A
paraE
(A---B---C---D---E
) y desea eliminar el último commit (E
). Entonces puede hacer un restablecimiento parcial para confirmarD
. Con un reinicio suave, el commitE
se eliminará de git pero los cambios locales se mantendrán. Hay más ejemplos en la documentación de git reset .fuente
Si selecciona la entrada de registro a la que desea volver, puede hacer clic en "Restablecer esta confirmación". Solo use esta opción si no presionó los cambios de confirmación inversa. Si le preocupa perder los cambios, puede usar el modo suave que dejará un conjunto de cambios no confirmados (lo que acaba de cambiar). El uso de la combinación restablece la copia de trabajo pero mantiene esos cambios, y un disco duro simplemente eliminará los cambios por completo. Aquí hay algunas capturas de pantalla:
fuente
Si desea eliminar una confirmación, puede hacerlo como parte de un rebase interactivo. Pero hazlo con precaución, para que no termines arruinando tu repositorio.
En Sourcetree:
Consulte esta publicación de blog de Atlassian para obtener más información sobre rebases interactivos en Sourcetree.
fuente
Si está en otra rama, primero necesita "verificar esta confirmación" para confirmar que desea eliminar, y solo luego "restablecer la rama actual a esta confirmación" eligiendo la confirmación previa de Wright, funcionará.
fuente