2010-09-11 24 views
8

Estoy tratando de configurar un repositorio en mi trabajo para todo el código (principalmente C, ensamblador, lote básico) que mis colegas y yo usamos. Sé algunas cosas sobre repositorios pero no puedo decidir cuáles son buenos o no. No tengo experiencia con ellos, pero hasta ahora Apache Subversion y el repositorio de Python se ven bien. ¿Hay otros que sean buenos? Fácil de usar y configurar?Repositorio de código. ¿Cuál es una buena?

+1

Esta pregunta es demasiado subjetiva para Stack Overflow, pero está justo en el callejón de [Programmers.SE] (http://programmers.stackexchange.com/). De hecho, ya se ha preguntado: [¿Cuál es el mejor sistema de control de versiones?] (Http://programmers.stackexchange.com/questions/940/whats-the-best-version-control-system) –

+0

Todavía soy nuevo en esta. Gracias por la ayuda en el sitio diferente. – TheTuxedo

Respuesta

5

Tenga una mirada en:

La tecnología que está buscando se llama control de código fuente . Un repositorio es un término utilizado por la mayoría de las diferentes herramientas de control de origen para referirse a la colección de código fuente. Una instancia de control de origen (como SVN) puede tener muchos repositorios. Por lo general, un repositorio contiene un proyecto o un grupo de proyectos estrechamente relacionados. Proyectos distintos serían un buen ejemplo en el que desearía usar múltiples repositorios.

Git y Mercurial son herramientas de control de fuente distribuidas, mientras que SVN y Perforce no lo son.

Algunos proveedores ofrecen integraciones IDE (Perforce ofrece uno, puede obtener uno para Subversion, es decir: Ankh para Visual Studio). Otros usuarios optan por manejar el control de código fuente fuera del IDE como una opción puramente de sistema de archivos.

Si está contento de tener su código fuente en la nube, git hub podría ser una buena solución. Ofrecen repositorios Git gratuitos que no necesita administrar.

+0

Perforce ofrece una versión gratuita totalmente funcional para hasta 2 usuarios, por cierto. Junto con excelentes paquetes de integración para IDEs comunes y rastreadores de errores. –

+0

Gracias - actualizado. –

0

GitHub, o un repositorio git propio, yo diría ...

+0

¿Por qué? (No estoy en desacuerdo, pero me gustaría ver algún razonamiento persuasivo por qué). También un argumento contrario sería que, dependiendo de la política, es posible que no pueda alojar su código fuente en la nube. –

+0

fácil de usar, y confirmaciones locales posibles – polemon

4

Mira en Git, Mercurial, Subversion, y CVS. Esos son los grandes jugadores. Creo que SVN es relativamente fácil de configurar, pero Git y Mercurial tienen algunos usuarios verdaderamente fanáticos, por lo que puede que los encuentres más como ellos.

+2

No liste CVS ... –

+0

@Clark No lo recomiendo, pero en mi experiencia sigue siendo uno de los sistemas de control de versiones más utilizados. No es malo tener algo de experiencia con eso, incluso si solo lo está probando y decidiendo que no le gusta. –

0

Probar Mercurial. Es tan simple comenzar como cd entrar en la carpeta de su código y escribir hg init. Una vez que el repositorio se ha inicializado, puede agregar todo con hg add, y luego confirmar con hg commit -m "Initial commit." o algo así. También hay un gran tutorial en hginit.com.

+0

Su argumento es igualmente válido si cambia las cosas mercurial a git. – Jimmy

+0

@Jimmy: Es cierto, pero me gusta Mercurial. Además, no he encontrado un equivalente a hginit.com. Es un gran recurso, y los recursos en git fueron algo escasos la última vez que miré (aunque eso está mejorando). – icktoofay

+1

Pro Git? Que los libros hayan salido para siempre, también descarga gratis en pdf. – jer

0

Subversion, Git. CVS ha sido mencionado, pero SVN lo supera.

2

Voto por SVN ya que eso es lo que uso, pero tengo que admitir que realmente me gusta la idea detrás de Git y Hg (Mercurial).

El mayor problema suele ser con la fusión, creo, pero el seguimiento de fusión de SVN ha hecho que el proceso sea mucho más fácil. Además TortoiseSVN hace que la administración de sus sucursales de repos sea realmente simple, si está en Windows.

Para mí, la única característica en Git and Hg que realmente me atrae es la distribución de todo. Si no me equivoco, su dependencia de un repositorio central desaparece, y simplemente hace la vida más fácil para las personas que trabajan de forma remota o que frecuentemente están desconectadas.Por ejemplo, hago todo mi trabajo en un directorio de trabajo que está desprotegido desde nuestro servidor SVN. El problema es que, si no tengo una conexión de red, no puedo mirar el repositorio o la confirmación. Esto realmente apesta porque me gusta poder verificar mi código en hitos, y si estoy trabajando en una isla no puedo hacerlo, simple y llanamente. Sin embargo, con Git y Hg, el repositorio es local, está en en su computadora, y luego, si luego desea enviar sus cambios a un repositorio central, puede hacerlo por completo.

Todavía me gustaría pasar a Hg, pero cuando las fechas de entrega siempre están pendientes, usted sabe lo que pasa en la parte de atrás.

2

Recomiendo echar un vistazo a fossil. Es un control de versión distribuida fácil de usar y bajo ceremonial que también tiene tickets de problemas y una wiki. La herramienta en sí es un ejecutable autónomo por lo que la única instalación que necesita es colocar ese ejecutable en una carpeta adecuada en su RUTA. Es altamente portátil, con binarios disponibles para Windows y una variedad de plataformas * nix.

Es adecuado para proyectos en una amplia gama de escalas. La historia completa del proyecto de SQLite se trasladó de CVS a fósil poco después de que fue lo suficientemente completo como para ser útil, y todo el desarrollo actual de SQLite se lleva a cabo en un repositorio de fósiles, por ejemplo.

Cuestiones relacionadas