¿Git está listo para ser recomendado a mi jefe?

Quiero recomendar Git a mi jefe como un nuevo sistema de control de fuente, ya que estamos atrapados en los 90 con VSS (ouch), pero ¿las herramientas y el soporte de terceros ya son lo suficientemente buenos?

Específicamente, estoy hablando de interfaces GUI similares a TortoiseSVN, compatibilidad visual dig / merge visual decente, así como cosas como notifications de confirmación de correo electrónico y soporte general de terceros como IDEs y sistemas de compilation.

Aunque esto será utilizado por los progtwigdores, realmente necesitamos este tipo de cosas en nuestro equipo. No quiero dejar a todos atrapados con una nueva herramienta, e incluso un nuevo paradigma de control de fuente (distribuido), con nada más que una aplicación de command-line y algunos tutoriales en línea. Esto sería un paso atrás.

Entonces, ¿qué piensas … está listo Git? ¿Qué herramientas decentes existen para Git y qué aplicaciones de desarrollo de terceros lo admiten?

EDITAR: Mi pregunta original era bastante vaga, así que la actualicé para pedir específicamente una list de herramientas disponibles y soporte de terceros para Git. Tal vez podamos get una publicación wiki de la comunidad con una list de cosas.

Tampoco considero que 'usar subversión' sea una respuesta adecuada. Existen otras razones para usar un sistema de control de fuente distribuido que no sea la edición sin connection, siendo las sucursales privadas y baratas una de ellas.

Depende del equipo Si forms parte de un equipo con conocimientos tecnológicos, entonces git es maravilloso (ya menudo más que maravilloso). Pero si algunas personas no se sienten cómodas en la línea de command, podría haber algún problema (porque tortoisegit está en su infancia y todas las otras GUI que he encontrado, francamente, apestan).

Si tienes que tratar con gente no tan tecnológica (diseñadores, gerentes de más arriba, etc.), me iría con algo así como la subversión. TortoiseSVN es maravilloso (y bastante fácil de usar), y svn tiene tal vez el 80% del increíble git.

Una presentación mucho más fácil (y una que he hecho con éxito) es configurar un repository central de Subversion, que les dé a todos las buenas herramientas como TortoiseSVN. Entonces, los desarrolladores que lo deseen pueden usar git-svn como un entorno completo de Git como cliente de Subversion.

Esto funciona muy bien porque todavía hay un repository central donde todos saben que un cambio dado se ha cometido, o no. Entonces, en los bordes, las personas pueden usar las herramientas que desean (Git) para realizar su trabajo.

Usamos git en mi empresa, y en function de sus necesidades de herramientas visuales, diría que no. Tortoisegit está por llegar, pero todavía no está allí. Herramientas como GitX y GitNub son geniales en OS X, pero no cubren por completo todo lo que describes.

Dale time, sin embargo. Git se está moviendo a un ritmo bastante rápido, y gracias a ese crecimiento, la demanda de herramientas visuales está aumentando.

El mayor problema con el que probablemente te encuentres es el cambio de paradigma. No es lo más fácil de dominar, y será frustrante para algunos en su equipo, ya que se acostumbran a trabajar con Git y su naturaleza más distribuida (aunque no soy un gran fan de llamarlos SCM distribuidos).

Dicho esto, usar Git ha sido increíble y mi compañía, y me encantaría ver a otra compañía join a la mezcla.

Pasar de VSS a Subversion va a ser una gran actualización. Subversion te ofrecerá excelentes funciones como commits atómicos, gran GUI, integración con IDE, gran experiencia de Windows, el concepto de un set de cambios, un repository confiable, etc. Para una compañía típica de Windows con equipos pequeños / medianos, creo que la subversión es una gran herramienta.

Si está interesado en un VCS distribuido, entonces debería estar mirando git, hg, bzr. hg y bzr están por encima de git en lo que Windows admite. Sin embargo, hay una versión de línea de command portada de git para Windows (msysgit) que fusiona los cambios a git principal. Además, la comunidad git está creciendo rápidamente y, por lo tanto, espero que mejore la experiencia de Windows.

Git admite un escenario híbrido donde el server puede ser CVS / SVN y los desarrolladores individuales pueden usar git-svn para trabajar localmente y administrar las sucursales locales. Este tipo de configuration ofrece lo mejor de ambos mundos. Sin embargo, git-svn es escamoso en Windows debido a una dependencia en las bibliotecas Perl SVN. En este escenario, no es tan fácil usar buenas características de git como los desarrolladores que comparten sucursales, etc.

Dado que sus proyectos no son de código abierto, creo que es probable que Subversion proporcione todas las funciones que necesita. Una vez que Git esté a la altura de la barra de usabilidad de Windows que necesita, puede importar sus repositorys SVN en Git.

A less que su empresa tenga muchas ramificaciones y fusiones, yo elegiría SVN, de lo contrario, tendrá que considerar un DVCS de cerca.

He estado trabajando en un proyecto de código abierto, el repository fue almacenado en CVS, que luego migró a SVN y luego a Git. Cada paso fue una gran mejora. La principal motivación para la mudanza de SVN a GIT fue facilitar a los contribuyentes el mantenimiento de sus propias sucursales, mantenerlas actualizadas, llevarlas a los desarrolladores y que los desarrolladores las apliquen fácilmente con el mínimo esfuerzo.

Cuando se trata de herramientas gráficas para git , la única herramienta útil que he usado hasta ahora es gitk (que visualiza el tree de revisión para ti) y he estado usando git durante el último medio año, como alguien más lo puso aquí , TortoiseGit todavía es muy temprano y tiene algunos problemas para resolver.

En el trabajo, hemos estado evaluando tres DVCS diferentes (a saber, git, mercurial (hg) y bazar ) y tuvimos una velada completa presentándolos para el rest de la compañía. Mercurial recibió la respuesta más positiva y hay una variante de Tortuga .

Sugeriría que hagas lo mismo. Encuentre a alguien que pueda presentar alguna alternativa a git (como mercurial o bazaar) y haga una presentación juntos en DVCS en su compañía. Es más importante decirles a tus compañeros de trabajo cuán asombroso es DVCS que el jefe, porque al final lo usarán. Por lo tanto, es más educativo si han estado expuestos a tales herramientas y lo testingn por sí mismos.

Cuando lo presentamos también asumimos que las personas no hacían el control de versiones, por lo que explicamos rápidamente los conceptos básicos, como checkin-checkout vs. commit-merge y por qué las personas controlan la versión . Básicamente era como los artículos de Eric Sink sobre el control de versiones, pero despojado de lo esencial.

Como vas a pasar de VSS (y lo siento mucho ) es posible que quieras echarle un vistazo a SVN . Sin embargo, como lo veo, la única diferencia entre el enfoque distribuido y centralizado es la complejidad añadida de compartir el código a través de una networking de búsqueda entre pares.

La GUI pnetworkingeterminada de git para Windows es horrible y tiende a quedarse atascada en los loops de reescaneo. Ahora uso el cliente de command-line, lo cual parece correcto siempre y cuando puedas lidiar con el uso de vi para hacer tus inputs de logging. Acabo de empezar a usar github, que está bien, pero tiene una navigation desagradable.

Personalmente, uso Subversion con Apache para casi todo lo que hago. Subversion funciona muy bien, está bien documentado, es fácil de configurar y gratuito.

¿La mayoría de las empresas de cualquier tamaño típico realmente necesitan control de fuente distribuida ?

Git funciona bien para proyectos de código abierto donde personas de todo el mundo queueboran en un proyecto en times muy diferentes, donde la validez de los loggings está determinada por el mérito y una networking de confianza.

En una empresa donde, por ejemplo, una confirmación requiere análisis de control de calidad o la aprobación o documentation de un administrador de configuration, o para conciliar un número de revisión con eso en un informe de error, yo diría que el control distribuido como Git realmente no tiene sentido, en el sentido de que el cambio de paradigma no está garantizado; que aún no encaja bien con los processs CM existentes (un problema social); que no se integra bien con herramientas existentes, de terceros y de otra manera; y que tiene poca compatibilidad con Windows.

No es que no sea bueno; es que soy bastante escéptico para creer que es la herramienta adecuada para la mayoría de los entornos corporativos. Espero con interés algunas de las otras respuestas para una mejor comprensión.

Soy un recién llegado en GIT, y después de usarlo por un par de semanas tengo que decir que es realmente genial, una vez que entiendes las instrucciones de línea de command.

Para responder a su pregunta "¿Está listo Git?" => Creo que lo es (excepto por la curva de aprendizaje de la línea de command).

Creo que usted y su equipo / compañía deberían preguntarse "¿Estás listo para git?" Una vez que comiences a usarlo, claramente tendrás mucha potencia al scope de tu mano.

Sus primeros pasos para aprender git son:

  • Leyendo las guías de git en github.
  • Dirígete a Pragmatic Programmer s yd / l the Free " Insder to Github"
  • También puede tomar el control de versión Pragmatic usando Git

En el seguimiento de la mención de Spoke de TortoiseHg para Mercurial, la descarga independiente de Windows para Bazaar incluye TortoiseBzr en estos días, aunque está marcado como experimental.

Lo intenté hace bastantes versiones y lo encontré inestable, pero puede haber mejorado mucho desde entonces (especialmente si están dispuestos a empaquetarlo con la versión oficial de Bazar).

Si realmente buscas un control de versión descentralizado con una interfaz similar a la de una tortuga, yo daría un vistazo y vería qué tan justo.

MI.

Cuando me expusieron por primera vez a Git, mi primera reacción fue 'Simplemente no lo gulp'. Vi muchas herramientas poderosas, pero no fueron muy intuitivas. Cuando me acostumbré al uso de Git, me di count de que la única característica que realmente me gustaba eran las twigs rápidas, baratas y fáciles.

Probé algunas de las interfaces gráficas, incluida la de GTK que se envía con Git. Los encontré más confusos que las operaciones de línea de command.

Si su empresa está acostumbrada a Subversion y necesita cambiar a DVCS, pruebe Mercurial. Los usuarios de Subversion se sentirán como en casa muy rápidamente. Sin embargo, pocas personas pueden entender la idea de Mercurial sobre qué twig debería ser … qué tipo de brotes usar un DVCS en el pie en primer lugar (salvo que se pueda comprometer localmente y empujar / tirar a los demás antes de empujar) al repository principal).

Trabajo a diario con Subversion y Mercurial, que se adapta bastante bien a todos mis proyectos. Creo que, a less que necesites el poder de ramificación de Git y la capacidad de editar revisiones anteriores … Subversion o HG va a ser tu mejor apuesta. No recomendaría a Git como la primera exposition de nadie a un DVCS, sino solo mi opinión y experiencia con él.

Hay un muy buen elenco de pod sobre GIT .

Claro, creo que Git está listo. Solo asegúrate de tener time en el cronogtwig de tu proyecto para acostumbrar a las personas cuando cambien …

¿Hay soporte para Git en la mayoría de las aplicaciones de terceros (que no sean Eclipse …) todavía? No para muchos de los que he visto.

Es probable que Git no vaya a replace SVN por completo, son lo suficientemente diferentes como para que cada uno pueda tener su rol por algún time. De todos modos para responder a la pregunta en general: no, no está listo para el horario de máxima audiencia en el mundo de los negocios. Tal vez sea algún día, en algunos casos (probablemente no en todos los casos), pero, por supuesto, todavía es demasiado nuevo. ¡Muchas personas ni siquiera han oído hablar de él! El solo hecho de que se le haya aconsejado que haga una presentación para get el buy-in debería ser una señal de advertencia. Si vas a los desarrolladores hoy en día y dices que quieres mudarte a SVN, los únicos que no entenderán de inmediato son los que viven bajo una roca y ¿a quién le importan?

Además, lo más nuevo no siempre es mejor. Se necesita time para que este tipo de cambio de paradigma se confirme como una mejora: observe la reacción violenta de Maven a lo largo del time. No sea tan rápido para abandonar una solución probada, no cuando su trabajo y reputación están en juego: si Git no funciona, no se vería bien recomendándolo. Al less con un producto como SVN tienes el hecho de que NO es nuevo, definitivamente lo demuestra con el time, e incluso si hay problemas, la recomendación no puede ser cuestionada con dureza porque sigue siendo la respuesta pnetworkingeterminada de la mayoría de los desarrolladores. Asesoramiento de ataque más difícil es cambiar a un estándar de la industria que un cambio a algo nuevo y no estándar.

No es la respuesta que desea escuchar (parece que ya ha tomado una decisión), pero pregúntese si los beneficios (y las sucursales son algo que debe evitarse, no recomendarse) realmente superan los riesgos.