smartgit delete commit y regresa a commit anterior

Por error, hice una confirmación que ahora quiero eliminar del logging de historial y regresar a una confirmación anterior. He estado intentando verificar el compromiso al que deseo regresar, pero Smartgit me pidió que creara una sucursal local para hacer esto (captura de pantalla adjunta) y como no soy un experto con SG, realmente necesito un consejo. También intenté revertir la confirmación que hice por error, pero todavía veo la confirmación en el logging. Así es como se ve el logging ahora:

Al intentar pagar:

enter image description here

Cómo mi logging se ve en el momento:

enter image description here

Lo que quiero hacer es borrar los dos primeros commits del logging y regresar al commit de "Cambios Varios" (el que tiene la flecha verde que apareció por cierto cuando estaba tratando de verificar ese commit).

Todo este lío fue porque mi colega hizo algunos cambios y agregó un file y luego confirmó sus cambios. Para tener mis files actualizados, hice una extracción pero mis files no se actualizaron en mi repository local y no agregué el file que era agregado por mi colega ¿Hay algo más que tengo que hacer para actualizar todas mis carpetas cuando otro usuario hace un commit además de PULL? Soy bastante nuevo en SmartGit y me resulta un poco confuso cada vez que bash hacer un esfuerzo limpio. Muchas gracias !

Lo que estás preguntando no es específico de SmartGit, sino de GIT en general. SmartGit es simplemente un cliente, aunque muy conveniente y con todas las funciones. En su situación, debe tener en count varias características de GIT:

  1. Sucursales
  2. Compromisos publicados
  3. Cabeza separada
  4. Reescribiendo el historial remoto

Google en estos para get información adicional. Ahora, démosle nombres a sus commits:

enter image description here

Continúa viendo commit A , porque tiene una twig apuntando sobre él. Este es su master sucursal local . Puede restablecer esta twig a la confirmación que desee. En SmartGit para hacer esto, simplemente click la label de la twig verde y arrástrela a cualquier otra confirmación. Eso es. Por ejemplo, restablecerlo para confirmar B , a donde apunta el origin/master , y ya no verá este compromiso en su logging, porque no hay una twig desde la cual se pueda alcanzar.

Estrictamente hablando, puedes hacer el mismo truco con tu origin/master twig origin/master , puedes restablecerlo a cualquier otra confirmación. Pero debe tener mucho cuidado con esto, ya que apunta a una confirmación B , que se publica . Es decir, puede que alguien lo tire de su máquina. Si no puede decirlo con certeza, no puede restablecer la bifurcación de una confirmación publicada sin el peligro de romper la copy de alguien del informe.

Entonces, la respuesta simple es que no puede revertir el repository a la confirmación C como desee, ya que puede entrar en conflicto con repos clonado en otras máquinas. La respuesta más larga es que puedes intentarlo.

Si está seguro de que las únicas personas que tienen este repository clonado son usted y su colega, puede volver a escribir el logging remoto. Para esto, restablece tu twig master local en la confirmación C (con drag and drop, como dije antes) y presiónala . SmartGit puede prohibirle que lo haga, vaya a Preferences / Comandos / Empuje y habilite la opción "Permitir modificar confirmaciones presionadas". Porque es peligroso.

Esto reescribirá la position de la twig master remota, y la extraerá de la máquina de su colega. Si él no hizo ningún cambio adicional a esta twig, esto debería estar bien.