Eclipse y EGit: Cómo revisar fácilmente los cambios en TODOS los archivos modificados antes de confirmar el repositorio * local*


Estoy usando Eclipse Indigo SR2 con el plugin EGit (incorporado) v.1.3.0.201202151440-r y no he podido encontrar ninguna manera de revisar fácilmente todos mis cambios antes de hacer un commit.

Usé Eclipse con SVN durante años, y esto siempre fue muy fácil de hacer. Normalmente haría clic con el botón derecho en mi proyecto, seleccionaría Team->Synchronize, haría doble clic en el primer archivo modificado( en la perspectiva de sincronización del equipo) y luego presionaría Ctrl-. repasar repetidamente todos los cambios en un archivo, y luego continúe con el siguiente archivo, ya que escribí un resumen de mis cambios para el mensaje de confirmación.

Pero, por supuesto, git es muy diferente de Subversion, por lo que mi flujo de trabajo debe cambiar. Con EGit, "Team Sync" solo parece ser útil para revisar los cambios entre mis archivos locales y el repositorio remoto (es decir, antes de un push al remoto). Necesito una manera de revisar los cambios desde mi última confirmación en mi repositorio local. Por lo general, ni siquiera me importa (re)revisar los cambios antes de un empuje a remoto (y si lo hiciera, preferiría un equivalente simple de git log para ver qué commits estoy a punto de enviar).

Si hago clic con el botón derecho en mi proyecto y selecciono Team->Commit, se me presenta una ventana que hace casi todo lo que necesito hacer (seleccionar archivos para preparar, confirmar, escribir un mensaje de confirmación, modificar una confirmación anterior, etc.). Lo que no me permite es revisar rápida y fácilmente todos mis cambios en un editor de comparación. ¡No puedo creer que esta capacidad no exista! Parece que se requiere que haga doble clic en cada archivo individual, revise los cambios, cierre el editor de comparación y haga doble clic en el siguiente archivo. Eso es ridículo!

TL/DR - Estoy buscando un equivalente GUI simple (en Eclipse) para hacer lo que puedo hacer fácilmente desde la línea de comandos usando git vimdiff (donde vimdiff es un alias de git que usa vimdiff como el "difftool" para recorrer todos los archivos modificados) seguido de git commit (con quizás un git add o dos en el medio).

Si nadie tiene una buena solución, Tengo curiosidad sobre cómo otros manejan su flujo de trabajo de confirmación con EGit. He estado llevándome bien confirmando desde la línea de comandos (no es que Eclipse esté contento con eso), pero no puedo creer que EGit sea tan casi inútil como me parece. Tal vez mi google-fu no es tan fuerte como una vez fue?

Author: Lambart, 2012-06-29

2 answers

¿Conoce la vista 'Git Staging'? Realiza un seguimiento de todos los archivos que han cambiado y puede revisar los cambios en cualquier momento. (Esto puede ser un poco mejor que usar el diálogo de confirmación)

Una alternativa es confirmar todos los cambios sin revisar, y luego usar la vista de historial para comparar dos confirmaciones (Simplemente seleccione la última confirmación superior, haga clic con el botón derecho y seleccione 'Comparar entre sí'). De esta manera no tiene que seguir haciendo doble clic en archivos individuales. Si usted necesita cambiar algo siempre puedes 'Modificar' la última confirmación. (Normalmente sigo este enfoque)

 23
Author: Deepak Azad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-29 04:58:32

Dice aquí que se pueden ver las diferencias entre el árbol de trabajo y cualquier referencia dada. Tal vez usted debe probar la última versión (Juno) de Eclipse/EGit y ver si se ha puesto mejor?

Actualización: He probado esto en el último Eclipse, y por lo que puedo ver, funciona bien. He aquí cómo:

En el momento de escribir esto, Eclipse Juno 4.2 es la versión que debe ir. En la página de descarga, puede elegir entre varios paquetes de acuerdo a tus necesidades. El' Eclipse IDE for Java Developers ' viene incluido con EGit, pero también puede instalar EGit en cualquier distribución utilizando Eclipse Marketplace (en el menú Ayuda).

  • Una vez que haya importado su proyecto en Eclipse, asegúrese de que el proyecto es "compartido":

Haga clic con el botón derecho en proyecto- > Equipo - > Compartir proyecto.. - >Git

Ahora haga lo siguiente:

  • Cambia a la Perspectiva de Sincronización del Equipo.
  • Haga clic en el pequeño sincronizar botón en la vista Sincronizar.
  • Elija Git
  • Elige una rama adecuada para sincronizar, como refs/remotes/origin/master
  • Asegúrese de marcar la casilla" Incluir cambios locales no comprometidos en la comparación "
  • Haga clic en Finalizar

Ahora, cambie algunos archivos y observe cómo aparecen en la vista Sincronizar. Haga doble clic en los archivos modificados para ver la diferencia (como en la imagen siguiente).

Captura de pantalla de Eclipse Juno-EGit Synchronize View

 38
Author: Thomas Ferris Nicolaisen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-02 14:28:00