Gitextensions: Confirmación de modificación inteligente

Creado en 17 ago. 2011  ·  19Comentarios  ·  Fuente: gitextensions/gitextensions

Actualmente, es bastante fácil equivocarse al hacer una "compromiso de enmienda". Primero, se debe hacer clic en el botón Modificar confirmación en el cuadro de diálogo de confirmación para cargar el último mensaje de confirmación y confirmación. Luego, cuando haya terminado, debe hacer clic en el botón Modificar confirmación _nuevamente_--- _NO _ el botón Confirmar ---para terminar de modificar la confirmación.

Tal vez, para hacer esto más intuitivo, podríamos tener un mensaje o notificación que aparece cuando alguien hace clic en el botón Confirmar después del botón Modificar confirmación que les pregunta si tenían la intención de modificar la confirmación presionando el botón Modificar confirmación nuevamente.

Probablemente esta no sea la mejor manera de resolver el problema. Sin embargo, creo que necesita una mejor solución. Ahora mismo es contrario a la intuición.

needs review user experience feature request

Comentario más útil

He estado investigando esto un poco, la casilla de verificación para modificar una confirmación funciona muy bien, pero la desventaja es que realmente no se pueden deshacer los cambios que se realizaron en la confirmación. La GUI de Git (que es bastante terrible) maneja esto muy bien al incluir los cambios de la última confirmación en el área de preparación:

Probablemente presentar esto no sea un cambio trivial, ¡pero creo que podría ser muy útil!

Todos 19 comentarios

Sería relativamente fácil para mí escribir esto yo mismo, pero como dije, no estoy seguro de si esta es la mejor manera de resolver el problema. Entonces, ¿habría una mejor manera de deshacerse de las partes confusas?

+1, esto es muy confuso. A modo de comparación, git gui hace esto con solo tener un botón de opción que seleccione entre "hacer una nueva confirmación" y "modificar la confirmación anterior". Cuando se selecciona este último, el mensaje de confirmación anterior y los archivos modificados por él se cargan automáticamente. Luego, para finalizar la acción, haga clic en "confirmar" regularmente.

Solo para su información: normalmente titulo mis parches en el formato ":". Cuando hago varias confirmaciones, mi flujo de trabajo normalmente es dejar que GitEx cargue el mensaje de confirmación de la última confirmación presionando modificar, edite el mensaje y luego confirme mis cosas como una nueva confirmación. Sé que también está el menú con la última confirmación enviar mensajes, pero tarda cierto tiempo en cargarse y requiere un apuntar y hacer clic más que mi solución actual;)

Los corchetes angulares que usó (visibles en el correo electrónico) son invisibles en el sitio. Para los interesados, su formato de parche es ":"

NJAldwin: Estoy absolutamente de acuerdo, la interfaz actual es contraria a la intuición. Creo que la interfaz debería arreglarse en lugar de enseñar al usuario cómo usar la interfaz actual. El mensaje de confirmación no es una solución real, es solo una revisión. No es una buena idea tratar de resolver los problemas de complejidad de la interfaz de usuario con sugerencias y confirmaciones adicionales. La interfaz de usuario debe ser clara en sí misma.
De la mejor manera, cada botón tiene solo una función, por lo que sugiero dividir el botón de modificación en dos botones: "Cargar mensaje de confirmación anterior" y "Modificar confirmación anterior". El segundo botón está deshabilitado hasta que se hace clic en el primer botón.

Turbo87: no es cierto, es un uso anormal de la función. Pensemos en otro botón o tecla de acceso rápido para insertar la plantilla de mensaje de confirmación. En el futuro, también puede ser utilizado por complementos de integración de seguimiento de problemas, que podrían proporcionar un cuadro combinado para seleccionar un problema y preparar automáticamente el mensaje de confirmación con la plantilla.

+1, cometí un error al usar esta interfaz. (Ahora me doy cuenta de lo que sucedió: internamente marqué esa característica como rota y para evitarla).

La forma de git gui funcionó bien para mí desde el principio. Y también podría retener el texto del mensaje para Turbo87, aunque en mi opinión es un abuso. :) Y el texto podría importarse de muchas fuentes sensibles (historial de confirmación local, el registro, plantillas configuradas...) pero esa es una FRQ diferente.

Intenté modificar nuevamente: al hacer clic en el botón de modificación aparece el texto del mensaje, pero los archivos preparados no aparecen, por lo que puedo recuperar cualquier cosa. Entonces, la función IMNSHO está rota como recordaba.

Vine aquí para quejarme de esta interfaz. No creo que "Modificar confirmación" merezca un lugar en el diálogo de confirmación en primer lugar. ¿Podríamos convertirlo en un menú contextual en el propio gráfico de confirmación?

  • Haga clic con el botón derecho en una confirmación
  • Seleccione "Modificar compromiso"
  • Aparece una ventana de confirmación de enmienda (no estoy completamente seguro de qué opciones te da la enmienda, así que no puedo decir con certeza qué hay en la ventana)

En mi opinión, pertenece allí tal como está bien en la GUI de git: la modificación de la última confirmación (no insertada) es parte de un flujo de trabajo sensato.

El clic derecho es una solicitud de función diferente, ya que allí puede elegir una confirmación arbitraria y debería poder ordenar "squash" y "fixup" para ella. Ciertamente, eso crearía una confirmación separada con un mensaje preparado para --autosquash. (La versión de corrección existe en GE en el menú de manipulación de confirmación).

La modificación directa de una confirmación anterior me parece extraña, aunque podría haber una buena interfaz para la operación de 'rebase interactivo', que podría seleccionar así. Tortoise Git tiene el inicio de la funcionalidad, pero cuando lo probé simplemente no fue lo que esperaba en absoluto. Disfrutaría de una GUI que funcione realmente para múltiples selecciones de cereza y rebase interactivo.

Solo estaba lanzando ideas. De hecho, no tuve la oportunidad de leer todos los comentarios anteriores hasta ahora y parece que usar un botón de opción, como dijo @avish , tiene más sentido.

También me han confundido con esto. Al leer este problema, acabo de entender que era normal, debido a que el botón de confirmación actualmente genera una nueva confirmación.
Personalmente, la propuesta de @NJAldwin , cambiar el botón "Confirmar" para modificar realmente la última confirmación (si se cargó con un precedente, haga clic en "Modificar la última confirmación") estaría bien para mí. O esto o un botón de radio a la Git Gui.
Y la carga de los archivos preparados del último compromiso, por supuesto.

No tengo las habilidades para arreglar esto, solo puedo agregarme a la lista de aquellos que piensan/necesitan que esto se solucione.

¿Alguien tiene más ideas de lluvia de ideas sobre cómo abordar esto?

Conceptualmente, crees que es más intuitivo:
1) Intente incluirlo en el cuadro de diálogo de confirmación existente (los ejemplos son el botón existente o la idea de la casilla de verificación enviada anteriormente)
2) ¿Crear un botón completamente separado, paralelo al botón que inicia el cuadro de diálogo Confirmar para iniciar un cuadro de diálogo Confirmar modificación?
3) ¿Algún otro enfoque general a considerar?

Modificar la casilla de verificación está bien para mí, pero cambiar el mensaje de confirmación al mensaje de confirmación anterior al seleccionar el cuadro combinado es confuso.
Podemos mover esta funcionalidad al menú "Confirmar mensaje", pero Modificar sería demasiado complicado (4 clics)

Me pregunto si algún tipo de interfaz "con pestañas" podría ser más intuitiva (algo que se parezca al cuadro de comentarios Escribir/Vista previa que estoy escribiendo en GitHhub en este momento).

Parece que una de las ventajas de una pestaña sobre una casilla de verificación es que el usuario espera obtener contenido completamente diferente cuando cambia de pestaña.

Lo único de lo que no estoy seguro es si alguna vez llegamos al punto en que el área de preparación del archivo también representa los archivos de la confirmación anterior, ¿seguiría siendo intuitivo si la pestaña estuviera en el cuadro de comentarios? ¿Tal vez en este caso podría moverse a la parte superior del cuadro de diálogo?

Hola, esta es la razón por la que no uso GitExtensions para hacer commit. Para mí, solo agregar la funcionalidad cuando verifico el último botón de confirmación, los cambios de la confirmación anterior se escribirían en el área de preparación sería lo mejor, exactamente como lo está haciendo gitgui.

Las cosas han mejorado desde que se abrió. La casilla de verificación de modificación actual + el botón de confirmación único funciona muy bien para mí. Gracias a todos los que hicieron que eso sucediera.

Y estoy 100% de acuerdo con @jasir : el comportamiento de gitgui de cargar HEAD^ nuevo en el área preparada cuando se modifica es oro puro. Espero que eso suceda también con GitEx.

"Modificar confirmación" y el cuadro de diálogo Confirmar, en general, para mí tiene varios problemas.

1) Solo puedo completar el cuadro de diálogo de confirmación con la última confirmación si borro todo el texto en el mensaje de confirmación y luego hago clic en Modificar confirmación.
2) Cuando hago el Commit después del Paso 1, aparece la advertencia que dice que voy a reescribir el historial y todo eso. Si hago eso, borra mi diálogo de confirmación y me pide que ingrese un mensaje de confirmación. Quizás el hecho de que estoy usando una plantilla lo estropee.

Sin relación con las confirmaciones... si he modificado archivos pero me olvido de prepararlos, entro en mi mensaje de confirmación, presiono el botón de confirmación, confirmo que quiero preparar y confirmar todos los cambios a través del cuadro de diálogo de confirmación, luego se borra el mensaje de confirmación y me pide que ingrese un mensaje de confirmación. Nuevamente, esto podría estar relacionado con mi plantilla (no hecho a través de extensiones sino un COMMITMESSAGE.txt manejado por git).

No tengo ningún problema con que se borre el cuadro de texto Confirmar mensaje, nunca.

El martes 28 de abril de 2015 a las 20:53, sadastronaut [email protected]
escribió:

"Modificar confirmación" y el cuadro de diálogo Confirmar, en general, para mí tiene varios
asuntos.

1) Solo puedo completar el cuadro de diálogo de confirmación con la última confirmación si borro
elimine todo el texto en el mensaje de confirmación, luego haga clic en Modificar confirmación.
2) Cuando hago el Commit después del Paso 1, aparece la advertencia que dice que estoy
vamos a reescribir la historia y todo eso. Si hago eso, se borra mi
diálogo de confirmación y me pide que ingrese un mensaje de confirmación. Quizás el
el hecho de que estoy usando una plantilla lo estropea.

Sin relación con las confirmaciones... si he modificado archivos pero me olvido de preparar
ellos, entro en mi mensaje de compromiso, presiono el botón de compromiso, confirmo que
desea organizar y confirmar todos los cambios a través del cuadro de diálogo de confirmación, luego se borra
el mensaje de confirmación y me pide que ingrese un mensaje de confirmación. De nuevo, esto
podría estar relacionado con mi plantilla (no hecho a través de extensiones sino un
COMMITMESSAGE.txt manejado por git mismo).


Responda a este correo electrónico directamente o véalo en GitHub
https://github.com/gitextensions/gitextensions/issues/565#issuecomment-97169433
.

He estado investigando esto un poco, la casilla de verificación para modificar una confirmación funciona muy bien, pero la desventaja es que realmente no se pueden deshacer los cambios que se realizaron en la confirmación. La GUI de Git (que es bastante terrible) maneja esto muy bien al incluir los cambios de la última confirmación en el área de preparación:

Probablemente presentar esto no sea un cambio trivial, ¡pero creo que podría ser muy útil!

Dos cuestiones, ambas mencionadas:

  • Si ya hay texto en la ventana del mensaje de confirmación, hacer clic en modificar no lo borrará y lo reemplazará con el mensaje anterior. Esto es útil a veces, pero más a menudo es una preocupación que tengo el mensaje incorrecto, por lo que termino borrando el texto, luego borrando/marcando la casilla de modificación nuevamente para recuperarlo.

    • Sugerencia A : colorea el área del mensaje de alguna manera (texto o fondo) para mostrar que el texto actualmente no está de acuerdo con el mensaje en HEAD

    • Sugerencia B : al hacer clic en la casilla de verificación de modificación, si el texto es diferente al mensaje de confirmación para HEAD, siempre guárdelo, bórrelo y reemplácelo con el texto de HEAD. Luego, al hacer clic en "confirmar", restaure el texto guardado. Esto aceleraría un montón de mis flujos de trabajo en los que suspendo una confirmación en curso (y su descripción) para modificar la confirmación anterior y luego reanudarla.

  • Es difícil revisar la confirmación modificada en su totalidad antes de confirmarla; es difícil deshacer los cambios realizados en la confirmación HEAD.

    • Sugerencia : Proporcione un conmutador que cambie la vista del índice de relativa a HEAD^ a relativa a HEAD. Hay ventajas y desventajas para ambas vistas.

¿Fue útil esta página
0 / 5 - 0 calificaciones