Uso de Git en entorno empresarial [cerrado]

24

Git es un excelente sistema de control de versiones. Si excluimos el hecho de que no tiene un excelente soporte de GUI, es realmente bueno y rápido. Pero los controles de origen como Clearcase tienen un gran soporte para clientes empresariales. Las empresas están invirtiendo una gran cantidad de dinero para servidores de control de origen y licencias.

Últimamente, la mayoría de las grandes empresas como Google están adoptando Git sobre otros sistemas de control de versiones. Pero esta compañía tiene un fuerte grupo de código abierto que constantemente proporciona desarrollo y soporte para la herramienta (incluso podrían tener una versión personalizada de Git propia). Al mismo tiempo, las grandes empresas realmente no se preocupan por adoptar proyectos de código abierto y hacerlos relevantes para ellos.

  • ¿Es Git realmente una herramienta confiable para el entorno empresarial, especialmente en la plataforma Windows?
  • El soporte está en duda para Git, ya que es un producto de código abierto.
  • ¿Hay alguna empresa que brinde soluciones y soporte? ¿Cómo se comparan los costos del servidor con otros controles de versión como Clear-case?
sarat
fuente
2
No estoy al tanto de que Google haya adoptado git, entiendo que optaron por Mercurial. Y también tendrás que convencerme de otras grandes empresas. ¿Tienes algún ejemplo?
Benjol
44
Tiene un gran soporte GUI. Simplemente elija un buen sistema operativo.
2
@Benjol: este hilo podría darte algunas ideas. quora.com/…
sarat
1
@sarat, sé que Twitter vale mucho dinero, pero no lo clasificaría como grande o empresarial. // No sabía que code.google.comadmitía git, es una noticia muy nueva , y no estoy seguro de que puedas llamar a eso adoptar git sobre otros controles de versión. [Originalmente] ( code.google.com/p/support/wiki/DVCSAnalysis) , decidieron claramente por Mercurial sobre git
Benjol
@Benjol En general, no puedo decirlo, pero el repositorio público de guayaba se acaba de mudar a git .
maaartinus

Respuestas:

37

GitHub NO es un control de versiones: "aloja" el sistema de control de versiones llamado "Git". Aparte del juego de palabras, esta es una diferencia muy importante: conócela bien.

Con respecto al uso empresarial, puedo decirle que git es tan inteligente (y conveniente y mejor) como algo así como SVN. Y puede elegir una estrategia de control de versiones (flujo de trabajo) adecuada en función del tamaño y el alcance del proyecto (y su equipo). Los sistemas no distribuidos no pueden permitirte esta flexibilidad.

ingrese la descripción de la imagen aquí

Para Windows, consulte Msysgit o Visual Studio Extensions para Git : git funciona muy bien en Windows. Además, los usuarios de Windows miran esta serie de capacitación de TekPub: es todo Windows.

ACTUALIZACIÓN [febrero de 2013] comenzando con git en visual studio

Su pregunta no es infrecuente, y puede buscarla en Google y obtener una gran cantidad de texto que explica por qué y cómo (y si) usar git en la empresa.

¿Todavía no te gusta Git? Mira otro DVCS llamado Mercurial .

codificador de árboles
fuente
12
Msysgit no es un verdadero ciudadano de Windows. Funciona muy bien, pero apenas es 100% nativo.
Yann Ramin
+1 para señalar algunos aspectos importantes sobre Git. Aunque @greengit señaló posibles opciones para usar Git en Windows, está lejos de ser tan integrado como, por ejemplo, SVN.
tehnyit
Usamos Eclipse que ha obtenido un buen soporte de git.
1
Creo que la gitolita (o similar) merece una mención aquí. A muchas personas de seguridad les gusta la opción local, cerrada y en control de alojar el repositorio localmente.
Nic
2
@YannRamin: Msysgit es definitivamente un verdadero ciudadano de Windows y es 100% nativo. Viene con un shell de Unix que usa convenciones ligeramente diferentes, pero ese es el shell, no git. Puede usar Msysgit desde cmd.exe o cualquier otro proceso de Windows como cualquier otra aplicación nativa. (Cygwin es diferente, pero Msys no es cygwin)
Jan Hudec
16

+1 Mercurial.

Mercurial es genial, es fácil, tiene muchas GUI fáciles de usar y se siente más profesional. Nunca entendí por qué Git tenía tanto entusiasmo, mientras que otros grandes están en la sombra. Mercurial también es compatible con el código de google, bitbucket.org (el equivalente de github), eclipse ... Lo uso desde hace dos años y siempre estuve contento con él.

Editar febrero de 2014:

Mientras tanto, Git ha tomado tal liderazgo que lo recomendaría sobre mercurial. Hace tres años, Mercurial fue en mi humilde opinión más pulido, más limpio, mejor. Sin embargo, la exageración estaba del lado de Git y el impulso que ganó desde entonces lo convierte en el claro ganador. Ahora es el estándar de facto debido a su gran comunidad.

dagnelies
fuente
Git es mucho más poderoso en términos de cómo puedes manipular la historia. Muchas personas optarán por fusionar sucursales localmente y luego volver a crearlas en una sola rama principal antes de pasar al repositorio principal / público; de esa manera la historia a largo plazo permanece muy limpia. Por lo que pude ver la última vez que usé HG, Mercurial no admite ese tipo de ediciones del historial. En general, git en Windows apesta; Las mejores herramientas de interfaz gráfica de usuario (git-cola, gitk) para usarlo solo se pueden encontrar en Linux.
Evan Plaice
1
Apenas diría que Git tuvo éxito debido a la exageración: la última vez que lo comprobé, el formato de back-end de Mercurial estaba basado en delta y era tan propenso a la corrupción como SVN o CVS. Mientras tanto, el modelo fundamental de Git es principalmente de solo escritura con cambios atómicos. Es solo una solución mucho más técnicamente sólida.
Stuart P. Bentley
@ StuartP.Bentley: ¿qué quieres decir con corrupción?
Dagnelies
Detener repentinamente un proceso en medio de copiar, mover, escribir, ya sea en el disco o en la red: en Git, esto solo creará objetos que sean inmediatamente reconocibles como basura (ya que el contenido no coincide con el hash), e incluso si usted perder algo a mitad de camino en el medio, puede verificar lo que obtuvo y volver a armar las cosas desde allí.
Stuart P. Bentley
Mientras tanto, los formatos basados ​​en delta que guardan toda su información sobre los cambios en un solo archivo, como Mercurial, pueden tener accidentes menores (dejar caer una línea que describe un cambio, por ejemplo) que rompen el archivo de tal manera que, como Humpty Dumpty , es imposible volver a armar de nuevo.
Stuart P. Bentley
8

Sé que https://github.com/ proporciona algún soporte con respecto a los repositorios privados para empresas

Específicamente, proporcionan un servicio llamado instalación de cortafuegos http://fi.github.com/ Afirman que brindan soporte, pero no tienen detalles publicados en línea y nunca los he usado.

Los costos son de 5000 $ por 20 personas por año.

c00w
fuente
-1 no responde a su pregunta en absoluto
MattyD
13
Pidió empresas que brinden soluciones y soporte. Github tiene una solución empresarial específica de hosting git para empresas. No responde la primera pregunta. De alguna manera responde a la segunda pregunta. Responde la tercera pregunta.
c00w
Wow, ¿cuándo cambió el precio de FI? La última vez que lo revisé, fue algo así como 200-250 $ / mes y ahora es el doble oO
wildpeaks
8

Utilizo Git y Mercurial en Windows, y ambos son más que utilizables. Creo que las herramientas de GUI para Mercurial son mejores, por lo que si su equipo está acostumbrado a las herramientas visuales, puede ser mejor. Aunque tiendo a usar la línea de comandos, para mí tiene más sentido.

Ambos, en mi experiencia, son a prueba de balas. No necesita 'soporte' como tal, aunque sé que a muchas empresas les gusta tenerlo.

Estoy seguro de que hay otros, pero vale la pena echar un vistazo a Kiln , que es una solución mercurial alojada.

Tenga en cuenta que, independientemente del camino que tome, los DVCS son bastante diferentes a los VCS tradicionales. En mi humilde opinión, son superiores en casi todos los sentidos, pero puede llevar algún tiempo acostumbrarse.

Ben Hughes
fuente
2
puede tomar un tiempo acostumbrarse. // Recuerdo cuánto odié a Git durante esos dos largos días de adaptación de SVN.
c69
6

git es extraño para los desarrolladores de Windows. No es un verdadero ciudadano de primera clase. Funciona bien, pero es una herramienta de Linux en primer lugar. Por ejemplo, el modelo de servidor de git prácticamente requiere inicios de sesión SSH por seguridad.

El soporte es una pregunta, y hay compañías que pueden proporcionar, generalmente acompañadas de una solución alojada.

Se sabe que Git no requiere servidores enormes, ya que los repositorios escalan más capacidad y velocidad siempre es importante, pero como la mayoría de las operaciones ocurren solo en su computadora, los requisitos del servidor son un orden de magnitud menor que algo como Clearcase.

Por lo que vale, nuestra compañía no empresarial de menos de 100 es un gran usuario de git, en Windows, con proyectos Java y C.

Yann Ramin
fuente
1
Aunque fue una gran cantidad de retoques y búsqueda de documentación, conseguí que GIT funcionara muy bien con la autenticación básica HTTP sobre SSL respaldada por un servidor LDAP.
DoubleMalt
1
Tenga cuidado con los espacios en blanco / terminaciones de línea si planea portar algo a Linux. Puede ponerse feo si no estás atento desde el principio.
Evan Plaice
Git ahora está integrado en VS 2013 y superior. MS lo ha convertido en un ciudadano de primera clase.
Clay Smith
5

Git es muy diferente de Clearcase, por lo que el desafío para usted probablemente será cómo migrar sin problemas a sus desarrolladores (y otros usuarios) a una forma diferente de trabajar con código fuente y archivos. Dependiendo de cuán experimentados sean sus usuarios y cuán profundamente integrado esté Clearcase en su empresa, puede requerir mucha capacitación y desaprendizaje.

Mi sugerencia inicialmente es que pruebes git en un proyecto piloto y veas cómo funciona para tu equipo. Obtenga un repositorio seguro en github y estará listo para el piloto.

Martin Wickman
fuente
5
  • ¿Es Git realmente una herramienta confiable para el entorno empresarial, especialmente para la plataforma Windows?

Pronto estaremos en un fuerte sí con este. Atlassian recientemente dio grandes pasos para lograr esto con el lanzamiento de Stash 1.3 .

  • El soporte es una pregunta para Git, ya que es un control de versión de código abierto.

Existe una sólida red de soporte de usuarios expertos de Git que ofrecen consejos para grupos gratuitos y varios de LinkedIn (Sistema de control de versiones de Git). Una búsqueda rápida en Google generalmente puede ayudar con la mayoría de los requisitos. Para las empresas más grandes también hay opciones comerciales de soporte git ahora disponibles en el mercado hoy.

  • ¿Hay empresas para brindar soluciones y soporte? ¿Cómo cuesta el servidor en comparación con otros controles de versión como Clear-case?

Hay varias compañías que ahora ofrecen soporte confiable y dedicado para Git. Clearvision y #goGit para nombrar uno de ellos.

Joe
fuente
El enlace de Stash se rompe un año y medio después. Lo encontré aquí: atlassian.com/software/stash
1

En mi lugar de trabajo empresarial, he estado trabajando para apoyar la incorporación de un equipo a Mercurial (una herramienta similar a git) frente a ClearCase.

Elegimos hg in party porque está diseñado en torno a la inmutabilidad, que es importante para nuestros objetivos comerciales. Además, como está escrito en Python, funciona muy bien en Windows. Git ha tenido fama de ser débil en Windows, y mi experiencia lo ha reflejado. (Supongo que las herramientas son mejores ahora, ya no uso Windows lo suficiente como para verificar. :-)).

La experiencia ha sido en general positiva, con la mayoría de nuestras desventajas relacionadas con los subrepositorios y las extrañas indirecciones relacionadas con ellos. Otra cosa es que el almacenamiento de metadatos no existe en hg; Hay que desarrollar otras soluciones para lograrlo.

Si tuviera que recomendar una solución empresarial para el trabajo "listo para usar" para los desarrolladores de Windows, recomendaría investigar Kiln y GitHub Firewall .

Sé que eso no responde directamente a tu pregunta. Pero déjenme decirlo de esta manera, si está acostumbrado a ClearCase, espero que git sea un orden de magnitud más fácil de entrenar, implementar y administrar.

Paul Nathan
fuente
1

Git y Mercurial se pueden usar en entornos empresariales. Hasta cierto grado. Algunas organizaciones tienen requisitos adicionales actualmente no cumplidos por git, cosas como un control de acceso más estricto para que, por ejemplo, solo usuarios específicos tengan (lectura) acceso a archivos específicos en el repositorio o como interfaces de auditoría que puedan rastrear el acceso. Algunos sistemas empresariales comerciales también tienen una integración más profunda con la administración de sistemas de TI, como las soluciones de respaldo corporativo.

Git tampoco es bueno para garantizar que se mantenga el historial; de forma predeterminada, permite empujar forzado a sobrescribir el historial completo del proyecto.

Las grandes organizaciones a veces tienen problemas de escala. Aquí hay un caso que tuvo Facebook: http://comments.gmane.org/gmane.comp.version-control.git/189776 , mientras que algunos de esos problemas son reparables (es decir, Facebook solucionó algunos problemas que tenían en mercurial: https: / /code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/ ) los sistemas de control de versiones comerciales tienen un comportamiento de escala diferente que podría (o en otros entornos podría no funcionar) mejor.

... y luego está esta responsabilidad. Las organizaciones más grandes podrían preferir llamar a un proveedor externo cuando hay problemas en lugar de usar su tiempo para depurar los problemas y confiar en el apoyo de la comunidad. Especialmente si están involucrados repositorios corruptos con información confidencial.

De ninguna manera se trata de problemas que lo hacen inutilizable en "entornos empresariales", pero, como siempre, un software diferente tiene ventajas y desventajas diferentes que deben evaluarse caso por caso.

johannes
fuente