tortoise for descargar git tortoisegit git-extensions

for - TortoiseGit vs Git Extensions



tortoisegit descargar (9)

FECHA: 2011-08-27.

En este punto, Tortoise Git NO FUNCIONA en absoluto, y el problema en el sitio del código de Google no ha recibido atención en un mes: http://groups.google.com/group/tortoisegit-users/browse_thread/thread/9090337b7936e1e1 .

La casilla ''Cargar masilla clave'' de la ventana emergente en el primer uso de Tortoise Git para clonar un sitio (y comenzar a desarrollar) aparece atenuada. Por lo tanto, no se encuentra ninguna clave privada, y el mensaje de error es "conexión eliminada" ¡¡EXITOSO !!!!

Git Bash funciona perfectamente, aunque basado en la consola. Y si todo el mundo habla acerca de no entender el concepto de Git cuando usa Tortoise Git, me mantendría alejado de eso basado en eso, incluso sin tener en cuenta las últimas 3 horas que pasé intentando que Tortoise Git trabaje para un desarrollador. Tendrá que aprender la consola Git o ir por el camino.

Lo hice funcionar en 15 minutos, y solo soy un hacker tratando de contratar programadores ;-)

PD: Eclipse tiene los tres principales ''conectores'' del repositorio de Control de versiones disponibles y es un editor muy bueno.

¿Cuáles son los beneficios y la desventaja de usar extensiones de Git o TortoiseGit en un sistema operativo basado en Windows?


Mi compañía intentó ambos y rápidamente dejó caer Tortuga Git. Se estrelló mucho más a menudo. Los codificadores afirman que Tortoise Git no es lo suficientemente capaz, pero yo no lo compruebo. Pero sí vi muchos de los accidentes yo mismo.

Los codificadores prefieren git bash, los otros usan pero odian las extensiones de git. Aunque incluso algunos de ellos, además, abren git bash. Git bash es inevitable para ver los contadores de progreso.

Git Extensions no tiene opción para mostrar los contadores de progreso durante una extracción. Entonces, con las extensiones de Git, te sientas frente a una enigmática barra sin progreso, sin saber qué pasa y si algo falló. Lo peor es una contraseña faltante o incorrecta: las extensiones de Git solo le permiten esperar para siempre, mostrando la misma barra brillante como si estuviera haciendo algo que consume mucho tiempo. Otro horror de las extensiones de Git es el aborto frecuente con "falta de memoria", al versionar muchos archivos grandes y al tirar con rebase. Después de dicho aborto, los usuarios no codificadores siempre se sienten abrumados por los problemas. Muchos archivos que no cambiaron aparecen como cambiados y el archivo de bloqueo evita que se ocupen del problema, etc.

En mi opinión, ambas herramientas GUI son inmaduras.


No puedo hablar con Git Extensions porque nunca lo he usado. Tuve algunos problemas con GIT puro. No se pudo integrar GVIM, por ejemplo. Tortoise Git tiene un editor integrado y una herramienta diff (que es increíble), así que es una muy buena conveniencia. Me encantaron los diagramas de ramas en el libro de Scott Chacon y esperaba que TGit tuviera un diagrama similar. Tienen una herramienta para mostrar las sucursales, pero no es tan buena como la del libro.

Una cosa a tener en cuenta es que, dado que TGit es solo un caparazón sobre GIT, no hay ningún problema al mezclar los dos métodos. Utilizo TGit para casi todo, pero me meto en GIT para comandos que son incómodos o que simplemente no entiendo bien en TGit. Pero incluso si planea usar TGit, sigue siendo importante, como se mencionó anteriormente, comprender primero los conceptos básicos de GIT. Había leído el primero, por ejemplo, tres capítulos del libro de Chacon (disponible de forma gratuita en línea en http://progit.org/book/ o por compra en Amazon). Si eres como yo, es posible que quieras leerlos varias veces para dejar que el paradigma se hunda. No es tan complicado, pero es muy diferente de los anteriores VCS.

TGit nunca se estrelló contra mí, como lo ha hecho con algunos de los otros revisores, pero luego mi repo ha sido pequeño. Comió mis comentarios de compromiso en más de una ocasión, lo que podría haber sido un error del usuario. Dado que puede volver atrás y volver a editar los comentarios, esto fue solo una molestia y vale la pena la conveniencia de tener una GUI, con ventanas que muestran una gran cantidad de información de un vistazo.


No sé GitExtensions, pero puedo compartir mi experiencia con TortoiseGit (aludido por el comentario de marc_s):

Pros:

  • Excelente integración con Windows (es una extensión de shell)
  • Casi la misma interfaz de usuario que TortoiseSVN (si ya usó TortoiseSVN, sabrá qué esperar).

Contras:

  • Te será difícil entender cómo usar git.

El problema con TortoiseGit es que las personas que trabajaron con TortoiseSVN pensarán que todo funcionará (o debería) exactamente como en SVN ... y terminan nunca entendiendo realmente cómo trabajar con git. Como experiencia personal, la compañía donde trabajo migró de SVN a Git luego de 2 años, y cada desarrollador que usó TortoiseGit terminó sin saber realmente lo que estaba haciendo y algunas veces arruinando sus repositorios locales. Al final, lanzaron TortoiseGit y pasaron tiempo aprendiendo git "de la manera difícil" (shell, msysGit en Windows) y todos estuvieron felices desde entonces.

Conclusión: simplemente use msysGit directamente y aprenda apropiadamente git. Evitará muchos dolores de cabeza en el futuro.


No tengo mucha experiencia con TortoiseGit, pero instalé, y actualmente estoy usando GitExtensions v2.21.

Las mayores ventajas con el uso de GitExtensions:

  • visualización visual gráfica gitk de líneas de código y sucursales, con toda la información esencial disponible en pestañas, eliminando la necesidad de trabajar con SHA antipáticas.
  • capacidad de instalar como administrador y todos los demás usuarios en la misma PC pueden usarlo como cualquier usuario regular.
  • integración incorporada de shell con Windows Explorer
  • integración fuera de la caja con Visual Studio (los usuarios de Windows Eclipse solo necesitan msysgit, ya que tienen su propia GUI para reemplazar la necesidad de GitExtensions)
  • instalador fácil de usar que viene pre-empaquetado con todas las funciones necesarias y de requisito previo para comenzar de inmediato (SSH Client, KDiff, msysgit).
  • integración con GitHub (Fork, clone, pull son todos optimizados)

Desventajas:

  • la documentación no se actualiza con las nuevas funciones que se agregan constantemente. Por ejemplo, todavía no sé cómo usar las funciones de scripting.

Para que no olvidemos que se trata de un programa completamente gratuito, y que se nos ofrece como una opción sin ataduras, no veo la razón de ser de tan altas expectativas puestas en él, como si fuéramos clientes pagados. He visto algunos de los abortos y la congelación que mencionó el usuario anterior, pero creo que la mayoría de eso se ha solucionado en v2.24. Muchas de las interrupciones y acciones fallidas realmente no son culpa de GitExtensions, sino más bien un síntoma de un problema sistémico fuera de GitExtensions (por ejemplo, configuración SSH mal configurada, problemas de permisos de archivos en el servidor que aloja el repositorio remoto, etc.). Por ejemplo, hubo una vez en que hice un simple empujón que causó falla y aborto. Resultó que el control remoto que estaba tratando de presionar estaba en una ruta de acceso muy larga que estaba causando problemas para el servidor Mac que alojaba el repositorio.

De todos modos, dicho esto, sin embargo, mi experiencia con GitExtensions ha sido bastante positiva. Encuentro que los beneficios descritos anteriormente han hecho que valga la pena aguantar abortos ocasionales y congelaciones hasta que se solucionen los errores.


Para contrarrestar algunas de las observaciones anteriores:

Con la expectativa correcta, TortoiseGit proporciona una excelente guía para trabajar con git en Windows. No es un reemplazo de TortoiseSvn, sino una guía mejorada sobre lo que se puede lograr usando gitk + git-gui (que se puede considerar parte de la funcionalidad de núcleo de git y accesible en msysgit). Lo único malo que veo es cómo no necesitas recordar todos los comandos exactos de checkout / rebase / merge, etc., ya que es posible hacer todo eso muy cómodamente a través de la interfaz gráfica de usuario (que es el punto completo). Los problemas de masilla / ssh tienen más que ver con el soporte inferior para ssh en Windows, y no son exclusivos de TortoiseGit.


Para una compilación, personalización y ampliación de compilación rápidas y fáciles, GitExtensions es mejor (C #) que TortoiseGit (Visual C ++ MFC)

Para la portabilidad, GitExtensions es mejor (.NET en Windows / mono en Linux / Mac) que TortoiseGit (Win32 / 64 solamente)

Para usar la superposición de iconos en Explorer, usa TortoiseGit

Para el rendimiento de algunas funciones, TortoiseGit es mejor porque llama a la biblioteca estática / dinámica para recuperar el resultado del repositorio, mientras que GitExtensions solo invoca la línea de comando git.exe que tiene una sobrecarga más grande.

Para migrar desde TortoiseSVN, TortoiseGit estará más familiarizado que con GitExtensions


Yo uso GitExtensions. No he usado TortoiseGit pero a uno de nuestros desarrolladores le encanta y se niega a usar GitExtensions. Su razonamiento es 1) Es familiar; 2) Tiene una gran integración con Windows Explorer.

Usando GitExtensions tiendo a usar la integración de Windows Explorer solo por tres cosas:

1) Para crear un nuevo repositorio local (elemento del menú contextual Git Init Here, que en realidad es un comando de Git for Windows; GitExtensions se encuentra en la parte superior de Git para Windows);

2) Para abrir la GUI de Git Extensions (la ventana de exploración);

3) Para clonar un repositorio remoto en un repositorio local (elemento de menú contextual Extensiones de Git> Clonar).

Para casi todo lo demás, simplemente tengo la GUI de GitExtensions y trabajo desde allí.

Los desarrolladores de GitExtensions afirman que casi cualquier comando se puede ejecutar desde la GUI. Esto no es del todo cierto, pero creo que solo necesito ingresar a la interfaz de línea de comando una o dos veces al mes para tareas complejas.

En algunos casos, la GUI simplifica las tareas complejas al ocultar la complejidad de los comandos Git subyacentes. Esto a veces implica combinar varios comandos de Git en una sola acción. Por ejemplo, la creación de submódulos donde la GUI combina la adición de un submódulo, la inicialización y la actualización en una sola acción. En otro caso, la GUI simplifica una tarea al proporcionar un comando que carece de Git: eliminar un submódulo (en Git debe editar manualmente los diversos archivos como .gitmodules y .git / config para eliminar un submódulo). Me interesaría saber si TortoiseGit simplifica las tareas complejas de manera similar.

GitExtensions también tiene una integración de Visual Studio bastante básica. No sé si TortoiseGit lo hace. Hay un proveedor de control de fuente de Git por separado para Visual Studio 2008 y 2010 que proporciona una integración de Visual Studio mucho más extensa. Sin embargo, después de haber instalado el proveedor de control de fuente Git, nunca lo uso. La única integración de GitExtensions que uso desde Visual Studio está en la barra de herramientas, para abrir la GUI de GitExtensions con el repositorio apropiado. Trabajaré con Visual Studio en un monitor y GitExtensions en el otro.

Desde al menos la versión 2.32 GitExtensions muestra la cantidad de archivos no asignados en su barra de herramientas. Anteriormente utilicé 2.24 que no tenía esta característica y es muy útil. Proporciona comentarios instantáneos sobre si hay cambios no confirmados o no.


Desea extensiones de Git por una razón importante: le muestra la vista gráfica del registro de confirmación (ver a continuación). Sin esa vista gráfica, no creo que la mayoría de las personas nuevas en git lleguen a saber lo que está sucediendo con las ramas, los commits, los rebases, los cherry picking, etc. (Sé que no lo hice).

También querrás hacer algo de tu trabajo en la línea de comandos, es tu mejor opción usar git prácticamente ya que toda la ayuda que obtengas estará basada en línea de comandos.

Dicho todo esto, también puedes usar Tortoise Git (suponiendo que funcione) ya que todos invocan los mismos ejecutables de la línea de comando y actúan en el mismo repositorio de git.

La mayoría de los IDE también tienen soporte git, JetBrains IDEA hace un gran trabajo al agregar listas de cambios y otras funcionalidades además.