Actualizar
Nota: esta respuesta se escribió originalmente con respecto a las versiones anteriores de SourceTree para Windows, y ahora está desactualizada.
Vea mi nueva respuesta para la versión actual de SourceTree para Windows, 1.5.2.0 . Dejo esta respuesta para propósitos históricos.
Respuesta original
como estoy en Windows, no tengo una herramienta de línea de comandos ni sé cómo usarla :( ¿Es la única forma de solucionarlo? ¿La GUI no cubre todas las funciones de git? - Cartel original
Con respecto a las GUI de Git, no, no cubren todas las funciones de Git . Ni siquiera se acercan . Le sugiero que consulte una de las respuestas en ¿Cómo edito un mensaje de confirmación incorrecto en Git?, Git es lo suficientemente flexible como para que haya múltiples soluciones ... desde la línea de comandos.
SourceTree podría venir con el shell msysgit bash ya, o podría usar el shell de comandos estándar de Windows. De cualquier manera, lo abre desde SourceTree haciendo clic en el botón Terminal:
Usted establece qué terminal usa SourceTree (bash o Windows) aquí:
Una forma de resolver el problema en SourceTree
Dicho esto, aquí hay una manera de hacerlo en SourceTree. Como mencionó en los comentarios que no le importa "volver a la confirmación defectuosa" (con lo cual supongo que realmente quiere decir reiniciar, que es una operación diferente en Git), estos son los pasos:
- Haga un restablecimiento completo en SourceTree a la mala confirmación haciendo clic derecho sobre él y seleccionando
Reset current branch to this commit
, y seleccionando la opción de restablecimiento completo desde el menú desplegable.
- Haga clic en el botón Confirmar, luego
- Haga clic en la casilla de verificación en la parte inferior que dice "Modificar la última confirmación".
- Realice los cambios que desea en el mensaje, luego haga clic en Confirmar nuevamente. Voila!
Con respecto a este comentario :
Si no es posible porque ya está en Bitbucket, no me importaría crear un nuevo repositorio y comenzar de nuevo.
¿Esto significa que eres la única persona que trabaja en el repositorio? Esto es importante porque no es trivial cambiar el historial de un repositorio (como enmendar un commit) sin causar problemas a sus colaboradores. Sin embargo, suponiendo que usted sea la única persona que trabaja en el repositorio, lo siguiente que querrá hacer es forzar el cambio de su historial al control remoto.
Tenga en cuenta, sin embargo, que debido a que realizó un restablecimiento completo de la confirmación defectuosa, luego de forzar el empuje hace que pierda todo el trabajo que vino después. Si está bien, entonces es posible que necesite usar el siguiente comando en la línea de comando para hacer el empuje forzado, porque no pude encontrar una opción para hacerlo en SourceTree:
git push remote-repo head -f
Esto también supone que BitBucket le permitirá forzar el empuje a un repositorio.
De todos modos, realmente debería aprender a usar Git desde la línea de comandos, lo que lo hará más competente en Git. #ProTip, use msysgit y active el modo Edición rápida en las propiedades del terminal, para que pueda hacer doble clic para resaltar una línea de texto, haga clic con el botón derecho para copiar y haga clic con el botón derecho nuevamente para pegar. Es muy rapido.