2011-02-28 17 views
6

Mi equipo, literalmente, consiste solo en mí y en una o dos personas más. Principalmente trabajo en proyectos de hobby y en mi sitio web, y escribo alrededor de 1000 líneas de código por semana.Elegir GIT o SVN para un equipo muy pequeño

Quiero empezar a utilizar los sistemas de control de versiones, pero dado que la mayoría de mis proyectos los he trabajado solo, no veo mucho sentido. Recientemente registré una cuenta de GITHub y tengo que decir que me gusta, y creo que es un poco más fácil de usar que SVN (no he tenido ninguna experiencia en SVN aparte de descargar repositorios).

Mi único requisito es que tengo que poder tener una interfaz web para mis repositorios (como la de GITHub). No es nada sofisticado, pero tengo que poder ver los archivos que están en el proyecto y los cambios realizados en archivos específicos.

A menos que las razones sean excepcionales, no tengo una preferencia por GIT o SVN, que no sea el front-end web. Tomando la información que he proporcionado, ¿cuál sería mejor para mí?

Respuesta

8

Si comienza a usar uno de ellos ahora, definitivamente vaya con Git! He usado Subversion durante algunos años antes de comenzar a usar Git (y Mercurial) el año pasado.Desde entonces, cambié todos los repositorios de Subversion a Git o Mercurial. ¡No quieres volver!

La razón por la que utilizo Mercurial para algunos proyectos es bitbucket.org, que le permite tener repositorios privados gratis (Actualización: ahora también git repos). Github.com no le da repositorios privados, gitorious.org pero nunca lo he intentado.

También hay gran nativa interfaces de usuario que hay para tanto, lo más notablemente posible para Mac éstos son Murky y GitX (Update, mejor aún SourceTree (Mac App Store) para Git y Mercurial o de GitHub propia Mac app), existen otras similares para Linux y Windows, supongo.

Para cualquier código, seguir adelante y usar Git. Siempre es bueno poder volver a una versión anterior, y una vez que te hayas acostumbrado a Git, te encantará.

+0

Voy a hacer una nueva pregunta preguntándome a qué Web Frontend debería ir. –

2

Bueno, hay que considerar que el soporte de git fuera de Linux es un tanto incompleto, aunque parece ser técnicamente superior a SVN.

Además, ¿son sus proyectos de código abierto? GitHub no es gratuito para proyectos de código cerrado.

+0

Algunos son de código abierto, otros no. Por lo tanto, comencé a buscar más allá de GitHub por el mismo motivo. –

+0

He estado usando Git en Windows (y OS X) durante bastante tiempo sin problemas, por lo que no diría que existe un problema al usarlo en sistemas que no sean Linux. –

6

Git y SVN son tipos de animales muy diferentes: Subversion tiene un repositorio centralizado, mientras que Git es un sistema distribuido. Muchos defensores de cualquier tipo de sistema tienen cosas malas que decir sobre el otro.

Creo que encontrará que para sus necesidades ambas ofrecen todas las características que necesita, y más. Ya que todavía no está adoctrinado en ninguno de los paradigmas de control de fuente, elija el que más le guste. Subversion es un sistema más antiguo y más maduro y tiene mejores herramientas, pero en mi opinión los sistemas de control de origen están hechos para ser utilizados desde la línea de comandos :)

Si desea licenciar su software con una licencia de código abierto, Sin embargo, Github es un gran lugar para compartir tu código y la comunidad es vibrante. Podría hacer algo peor que alojar su código allí.

4

Yo personalmente uso Google Code y uso SVN. Pero la razón es porque uso Visual Studio y Windows. AnkhSVN y tortoisesvn funcionan muy bien con SVN en Windows y Visual Studio.

En cuanto a GIT, si está trabajando en un entorno Linux, GIT está integrado y funciona muy bien. GIT en Windows (IMHO) es un poco complicado en comparación con SVN, pero en Linux, GIT es la mejor manera de hacerlo.

En resumen:

Linux = GIT de Windows = SVN pero de cualquier manera se le multa para pequeños proyectos

+1

Recomendaría git a través de cygwin en Windows. Linux = ¡Git seguro! – RDL

+1

+1 lol, cygwin es LinuxIntermediateDriver para Windows. Creo que es la única forma de hacer que GIT trabaje en Windows. Tuve que usar un GIT para un proyecto escolar y fue apenas menos doloroso que tirar los dientes. Terminé instalando tortoiseGIT que funciona más que un WinGIT runtime que se ejecutó sobre cygwin. Pero SVN tiene herramientas naturales para Windows. Entonces, si Windows, ve con SVN –

+1

WinGIT se puede encontrar aquí: http://www.wingit.asn.au/. ¡msysgit junto con TortoiseGit funciona bien! – eckes

6

Martin Fowler ha escrito un buen artículo comparando Git, Mercurial, y Subversion aquí - http://martinfowler.com/bliki/VersionControlTools.html. Discute las ventajas y desventajas de un VCS centralizado y distribuido.

Creo que desde su perspectiva, si está satisfecho con github como interfaz, y también con las herramientas de colaboración adicionales que proporciona, entonces quédese con eso.

Cuestiones relacionadas