¿Git o SVN para la aplicación Rails?

¿Qué sistema de control de versiones debería usar para una aplicación de Rails: Git o SVN?

Aquí hay algunos factores a considerar:

  • Soy el único desarrollador
  • Estoy familiarizado con SVN
  • Solo he usado Git por una semana, parece bastante similar a SVN en realidad.
  • Quiero poner mi repository en una location remota y conectarme a través de SSH u otro protocolo (que ya hago con SVN).

Editar: Gracias por las respuestas hasta ahora. Parece que Git es un poco más favorecido. ¿Tiene alguna funcionalidad SSH?

Yo diría que ve por Git. Sobre todo porque soy parcial, pero también porque no necesitas configurar ningún tipo de server con Git, solo tienes que git init y listo. Git generalmente es mejor , proporciona más flexibilidad y potencia que SVN.

Editar: Esto es un poco engañado. ¿Por qué Git es mejor que Subversion , o al less relevante?

Edit2: Git tiene 3 methods principales de comunicación, el protocolo Git, SSH y HTTP. Github usa SSH para "acceso de inserción", por ejemplo, git@github.com/user/repo.git.

Como desarrollador único que ya está familiarizado con SVN, si quieres ser lo más productivo posible usa SVN.

Si, por otro lado, realmente deseas aprender GIT y puedes permitirte un poco más de time para aprenderlo, usa GIT.

Use Git, solo por el hecho de que puede usarlo casi exactamente como SVN (incluida la administración remota de múltiples twigs a través de SSH) y es mucho, mucho más rápido y más confiable. Registros y sucursales locales, control de versiones distribuidas, gestión del historial de revisiones, etc. son solo beneficios secundarios.

En mi experiencia, las únicas razones para preferir SVN a Git son: un repository SVN henetworkingado o el requisito de usar Windows en el cliente.

Hubiera respondido en comentarios pero aún no puedo.

Para aquellos que no saben, Git trabaja con Windows. Si no te gusta la versión de msys, TortoiseGit ya se puede usar.

Ya que estás solo y quieres ponerlo en una location remota: SVN, pero también debes aprender / usar Git. También podría combinar los dos, usar Git localmente y SVN para el control remoto.

Probablemente sea una buena idea usar algún tipo de control de versión. También es probable que sea una buena idea tener copys de security remotas de su código.

Git y svn son buenas soluciones de control de versiones y ambas son populares dentro de la comunidad de Ruby / Rails.

Si estuvieras en un grupo de desarrollo distribuido, te sugiero que git podría ser más apropiado ya que uno de sus objectives de layout específicos era para esa situación.

Si estuviera en Windows, diría que TortoiseSVN probablemente ofrezca una experiencia less desafiante que, por ejemplo, msysGit.

Principalmente, aunque ambos parecen hacer un trabajo similar y hacerlo bien.

Si desea aprender específicamente un nuevo sistema de control de fuente mientras construye su proyecto, vaya a git. O si tiene la intención de pasar mucho time en, por ejemplo, Edge Rails, que vive en Github, otra vez podría ir por git.

De lo contrario, diría que debes quedarte con svn.

Si tienes un día para aprender a Git, entonces aprende Git. Tiene toda la funcionalidad que tiene svn, más ramificación / fusión barata, confirmaciones locales y la opción de desarrollo distribuido.

Es fácil trabajar con repositorys remotos. Si solo estás buscando algún tipo de hosting público, entonces tal vez quieras mirar a Github , que tiene hosting público gratuito, buena integración con Ruby y muchos charts bonitos.

Yo diría que no hay una diferencia particular.

Ambos sistemas son solo herramientas, y ambos le proporcionarán la funcionalidad que está buscando. Si no hay otros parameters que considerar, diría que vaya con SVN como ya lo conoce y no necesita time para aprenderlo.

Agregaría una pregunta de seguimiento: ¿estás trabajando en esto solo? El soporte de la herramienta GUI para Git es generalmente inferior al de Subversion, así que si eso es o podría ser una consideración, entonces optaría por Subversion.

Por ejemplo, si sus diseñadores usan Adobe CS4, pueden usar su soporte incorporado de Subversion (y usted no tiene que enseñarles Git). Por lo tanto, considere la composition actual y futura de su equipo como un factor en su toma de decisiones.

Solía ​​amar a git, pero recientemente cambié a mercurial. Tiene exactamente la misma syntax que git, pero está escrito en python y tiene muchas campanas y silbatos listos para usar, como un server web para el seguimiento visual de confirmaciones.

Sé que esto se puede configurar para que git use gitweb por ejemplo, pero requiere un poco de trabajo.