2008-08-22 12 views

Respuesta

24

Cualquier cosa menos Visual Source Safe; preferiblemente uno que apoye los conceptos de ramificación y fusión. Como han dicho otros, Subversion es una gran opción, especialmente con el cliente de TortoiseSVN.

Asegúrese de verificar (perdone el juego de palabras) Eric Sink's classic series of Source Control HOWTO articles.

+0

No, no perdonaré el juego de palabras ya que fue más inteligente y sutil que el juego de palabras. 80) – Keng

+0

Debo admitir que no entiendo tu comentario Keng! – FortunateDuke

+0

@Keng ¿qué significa su segundo 'juego de palabras'? – Parag

0

Cualquier cosa, pero aprendería un sistema moderno como git o subversión yo mismo. Mi primer VCS fue RCS, pero obtuve lo básico.

0

Bueno, si solo quieres aprender por tu cuenta, diría que deberías ir con algo gratis, como la subversión. Si usted es una compañía que nunca ha usado el control de fuente antes, entonces realmente depende de sus necesidades.

8

Le sugiero que pruebe Subversion, por ejemplo con el 1-click SVN installer. Intenta buscar SO para "Subversion" y encontrarás muchas preguntas con respuestas que apuntan a buenos tutoriales.

¡Buena suerte!

0

Mi primera exposición fue CVS con WinCVS como cliente. fue horrible El siguiente fue Subversion, con la integración de TortoiseSVN y Eclipse. Fue intuitivo y celestial. Creo que usar CVS con TortoiseCVS y Eclipse también sería bueno, aunque prefiero la forma en que SVN maneja la revisión. Todo el repositorio está versionado con cada check in, no archivos individuales.

5

Hay algunos conceptos básicos que creo que son importantes para aprender:

  1. Check-ins/check-outs (obviamente)
  2. versiones locales frente a las versiones de servidor
  3. Mapeo/Encuadernación una área de trabajo local a una tienda o repositorio remoto.
  4. Fusionando sus cambios nuevamente en un archivo que contiene cambios de otros.
  5. Ramificación (qué es, cuándo/por qué usarlo)
  6. Fusionando los cambios de una rama a una rama principal o troncal.

La mayoría de los sistemas de control de fuente modernos requieren algún conocimiento de los temas anteriores y deberían ayudarlo a aprender. Luego has distribuido el control de fuente, con el que no tengo ninguna experiencia, pero se supone que es bastante complicado y puede no ser adecuado para un principiante.

Subversion es genial porque tiene todas las funciones modernas que te gustaría y es gratis.

Git también se está convirtiendo en una opción cada vez más popular y es otra alternativa gratuita o de muy bajo costo a Subversion. Sin embargo, el conocimiento sobre los conceptos de ramificación y fusión se vuelve crítico para usar Git.

Puede usar unfuddle como una forma gratuita y fácil de experimentar tanto con Git como con Subversion. Lo uso para alojar un par de repositorios de subversión para algunos proyectos paralelos en los que he trabajado en el pasado.

0

También recomendaría Subversion.No lleva mucho tiempo configurarlo, es gratis, y hay un libro realmente bueno disponible en línea que repasa los conceptos básicos y algunos temas avanzados: http://svnbook.red-bean.com/

0

Subversion with tortoisesvn. (tortoisesvn porque puede ver mucho de lo que sucede visualmente y proporcionará un buen punto de partida para las cosas de la línea de comandos). Hay toneladas de documentación y lo más probable es que la vea al menos en un punto de su carrera. Casi todas las empresas con las que he trabajado y con las que he entrevistado ejecutan SVN.

2

Encontré http://unfuddle.com me salvó el juego con la instalación de SVN o git. Puede obtener una cuenta gratuita y usar cualquiera de ellas, además puede usar su OpenID allí.

¡Entonces usted evita tener que ensuciar sobre cómo configurarlo correctamente y concentrarse en cómo va a usarlo!

+0

Tendré que verificar esto. – FortunateDuke

+0

+1 para la referencia a unfuddle. Esa es una gran manera de mojarse los pies con Git o Subversion. –

1

@Ian Nelson:

Estoy de acuerdo con usted en que Source Safe es malo como un sistema de control de código fuente, pero tenga en cuenta que el uso de Fuente Segura es mucho mejor que "llevar alrededor de disquetes", como dijo Joel Spolsky.

Para un principiante puede que no sea una mala idea, ya que el costo de no tener ningún control de fuente es mucho mayor.

+0

Eso es subjetivo, SS puede dañar su base de datos y es posible que no se dé cuenta hasta meses después. Entonces aún perderías todo tu historial de control de versiones. – Makis

+0

Creo que su comentario es tan subjetivo como el mío. Source Safe PUEDE corromper su base de datos, pero un disco duro puede bloquearse. Si al menos usa Source Safe, lo tendrá tanto en su disco duro como en el control de fuente. – Patrik

2

Vault de SourceGear.com es excelente. Es gratis para usuarios individuales y ofrece una excelente interfaz VS 2005/2008. ¡Lo amo!

rp

0

Si usted está mirando para aprender un producto comercial, mientras que empezar Perforce proporciona un cliente y servidor gratuito, con el servidor que soporta dos usuarios y cinco áreas de trabajo del cliente.

En mi lugar de empleo anterior, fue utilizado religiosamente no solo por el código de nuestros programadores, sino por los recursos de arte y niveles de juego, y mi propia documentación.

3

No soy un usuario avanzado de control de fuente, pero estoy aprendiendo. Aquí está mi experiencia con los productos de control de origen:

  1. Hace mucho tiempo, la compañía estaba trabajando para en el momento decidió utilizar control de código fuente. Introdujeron el concepto a los desarrolladores y consiguieron que todos lo intentaran. Eligieron usar PVCS y lo implementaron. En poco tiempo, los desarrolladores tendrían que coordinar para bloquear/desbloquear módulos y objetos y realmente no vimos muchos beneficios.

  2. Unos años más tarde, estaba jugando con la creación de un proyecto de código abierto y en ese momento rubyforge estaba ofreciendo repositorios de CVS. Lo probé y fue marginalmente mejor que PVCS. De acuerdo, yo era el único que usaba el repositorio. Sin embargo, me sentí frustrado cuando traté de reorganizar la estructura de mis archivos porque no me gustó la forma en que los había importado inicialmente. Realmente no funcionó en CVS.

  3. Unos años después estaba trabajando en otro proyecto personal y mi proveedor de alojamiento web ofrecía repositorios Subversion (SVN) fáciles de instalar. Me llevó un poco de investigación para ponerlo en funcionamiento correctamente, pero una vez que supere la curva de aprendizaje inicial, me gustó.

  4. Poco después me di cuenta de que me gustaba tener control de fuente y que mi trabajo actual no lo tenía.Entonces evangelicé, y después de un largo período de tiempo, mi equipo implementó Source Safe porque trabajamos en Visual Studio y generalmente somos una tienda de Microsoft. Estaba ansioso por usarlo, pero al poco tiempo descubrí que estaba perdiendo archivos y que Visual Studio estaba poniendo las cosas en el lugar equivocado y que trabajaría en un proyecto por un tiempo y luego iría a exportar mi trabajo a otra ubicación. y descubrió que no exportaría o solo exportaría algunos de los proyectos en una solución. Esto me hizo darme cuenta de que, aunque pensaba que estaba usando un "sistema de control de versiones", la copia del código que era más segura, robusta y completa era mi copia de trabajo. Lo contrario de lo que se supone que debe hacer el control de origen.

  5. Así que la semana pasada estaba tan harta de Source Safe que fui a buscar. Después de buscar algunas soluciones, decidí probar git. No voy a decir que todo ha sido rosas, ya que de nuevo he tenido alguna curva de aprendizaje para lograr que haga lo que quiero que haga. Sin embargo, me gustó lo suficiente como para convertir todos mis proyectos de trabajo y personales. Una de las cosas realmente agradables es que no necesito un repositorio centralizado para poder usarlo sin tener que pasar por una gran cantidad de burocracia en el trabajo para instalarlo.

lo que en definitiva lo recomendaría git, utilizo Mysysgit en ventanas y tiene la ventaja añadida de darme un shell bash. En Linux, puede instalarlo desde su administrador de paquetes. Si no te gusta el git, prueba la subversión. Si no te gusta ninguno de los dos, probablemente tampoco te gusten CVS o PVCS. Bajo ninguna circunstancia pruebe Source Safe, es horrible.

8

Me gustaría ir directamente a Git. He utilizado la subversión antes, pero siempre sentí que lo estaba haciendo mal. Git tuvo sentido desde el primer día.

recursos útiles:

+0

Sí, creo que Git es el más simple y robusto de cualquier solución de control de fuente/versión. He usado SVN, CVS, ClearCase ... Y creo que Git ha sido la mejor, la más simple y la solución más limpia hasta el momento. –

1

Cada herramienta tiene sus fortalezas y debilidades. Es una cuestión de cuáles son sus requisitos. Desafortunadamente con este problema, como muchos otros, a menudo no es la mejor herramienta que se selecciona, pero con la que alguien está familiarizado. Por ejemplo, si no necesita muchas sucursales y su equipo es pequeño y local, casi cualquier vcs hará el trabajo (excepto SourceSafe). Las cosas cambian si necesita sucursales (lo que casi necesariamente significa que también necesita fusionarse), su equipo se distribuye, necesita seguridad avanzada (los subcontratistas no están autorizados a todo el árbol de fuentes), seguimiento de tareas, etc. También está la pregunta de costo de tres maneras diferentes: costo de licencias, costo de mantenimiento (algunas herramientas son tan complicadas que en la práctica se necesita a alguien solo para controlar los repositorios) y el costo de capacitación.

Por lo tanto, sugerir una herramienta sobre otra es como sugerir cuál sería el mejor lenguaje de programación.

Sólo algunos punteros:

  • StarTeam es la más fácil de las herramientas que he utilizado. Requería muy poco entrenamiento . Recibí un entrenamiento de un día ya que iba a ser el mantenedor. Este mantenimiento me llevó menos de 30 minutos por semana. Los usuarios que "entrené" escribiendo un manual de dos páginas y después de eso tuve muy pocas preguntas para responder.
  • Continuus fue el otro extremo de la escala en cuanto a la facilidad de uso es en cuestión.Por otro lado, el manejo de tareas fue excelente y ofreció un buen soporte para la gestión de versiones. El problema es que, incluso como gerente de lanzamiento, nunca pensé que la facilidad para hacer lanzamientos (fue una vez que aprendiste cómo, pero eso llevó una cantidad considerable de tiempo) debería ser más importante que el trabajo diario que hacen los desarrolladores.
  • La fusión y la creación de ramas difiere entre las herramientas. Algunas herramientas hacen que así de simple, como git y ClearCase (aunque este último es muy lento) básicamente te obligan a hacer la fusión a mano. Si necesita hacer combina mucho, el costo puede ser alto. ClearCase también fue costoso en todas las tres categorías mencionadas antes de (aunque hay que decir que usamos todas las cosas avanzadas que no es necesarias). Por otro lado, Git carece de una buena interfaz de usuario y algunos de los conceptos difieren de los que se pueden usar a. Las características de seguridad de Git también están ausentes en (la glosis aborda algunos problemas de pero no todos).
  • La mayoría de las herramientas que he usado también son bastante lento. Herramientas como PVCS/Dimensiones fue simplemente lento, no importa qué ( básico cosas como abrir un directorio en el repositorio), algunas muy lentas en formas más específicas (como ClearCase).

De las herramientas que he utilizado seleccionaría StarTeam si tus desarrolladores no tienen mucha experiencia (y si no te importa pagar la licencia, que es bastante caro) y git si tienes algunos vcs experimentados a bordo quien puede configurar el ambiente para otros tipos. Mercurial también parece un competidor interesante y parece tener UI ligeramente mejores.

Continuus, PVCS/Dimensiones y ClearCase son demasiado lentos, demasiado complejos y demasiado caros para casi cualquier proyecto. Si alguien insiste en seleccionar uno de estos, yo elegiría ClearCase.

No he utilizado Subversion que a muchos parece gustarles (sin embargo, tengo la sensación de que esto va a cambiar en un futuro próximo) por lo que no puedo comentar cómo se compara con las otras herramientas que he usado (generalmente un administrador de compilación y/o lanzamiento).

En cuanto a la primera herramienta para elegir, problema con Git, Bazar y Mercurial es que se distribuyen vcs. Esto es diferente del modelo tradicional de servidor-cliente donde tiene un repositorio central. Por solo aprender las cosas, recomendaría también leer acerca de los conceptos. La ramificación, por ejemplo, es algo que quizás no entiendas correctamente con solo probarte (hay diferentes estrategias de ramificación para diferentes situaciones). Además, es muy diferente si eres el único que accede al repositorio, por ejemplo, los conflictos de combinación no serían un problema (es posible que los veas pero también los arreglarías fácilmente ya que conoces el código en ambas ramas). Por supuesto, usted aprenderá acerca de las salidas, los controles, etc., pero no creo que estos problemas sean particularmente difíciles en primer lugar.

Problema adicional con los vcs es que tienden a usar términos diferentes. En StarTeam, que de otro modo es fácil de usar, por alguna razón insisten en usar los términos "check out" y "check out and lock". Esto último es lo que la mayoría de las personas piensa que hace el primero. Hay una razón para esto (puede editar archivos incluso si no tiene un candado exclusivo), pero aún tendría mucho más sentido llamar a estos "Obtener" y "Echar un vistazo" para evitar confusiones.

0

Subversion es un buen lugar para empezar. Es un sistema de control de versión muy estable y moderno. El mejor recurso en línea para comenzar a aprender sobre Subversion sería Version Control with Subversion.Hay muchas opciones en cuanto a los softwares de servidor y cliente. Yo personalmente prefiero (para el entorno de Windows).

  1. VisualSVN servidor

  2. cliente integrado de concha TortoiseSVN y

  3. AnkhSVN Visual Studio Subversion add-on

Una vez más, la subversión hay gran cantidad de opciones disponibles. Además, es un sistema de control de versiones en constante evolución (a diferencia del obsoleto SourceSafe). Se puede integrar fácilmente con numerosas herramientas de compilación automatizadas (CruiseControl, FinalBuilder) y sistemas de seguimiento de errores/problemas (JIRA).

Si está buscando sistemas de control de versiones de última generación, vaya a Git (desarrollado por Linus Torvalds). Pero si usted es totalmente nuevo en los sistemas de control de versiones, le sugiero que comience con la subversión.

Cuestiones relacionadas