2009-05-01 14 views
13

Nunca he trabajado con mucha gente en la que tuvimos que verificar el código y tener repositorios de código antiguo, etc. No estoy seguro de saber siquiera qué significan estos términos. Si quiero comenzar un nuevo proyecto que involucra a más de mí que rastrea todos los cambios de código, lo "echa un vistazo" (de nuevo, no sé lo que eso significa), ¿cómo empiezo? ¿Es eso para lo que SVN es? ¿Algo más? ¿Descargo un programa que sigue el ritmo del código?¿Cómo se puede "verificar" el código?

¿Qué debo hacer?

Todo estará en la casa. No hay Internet para almacenar el código.

Ni siquiera sé si lo que estoy pidiendo se llama control de fuente. Veo cosas sobre la salida, SVN, control de fuente, etc. No sé si todo está hablando de lo mismo o no. Esperaba usar algo de código abierto.

+6

El control de código fuente también es muy útil para proyectos de un desarrollador: lo verá una vez que lo conozca. – Arjan

+1

Subversion es de código abierto, al igual que git andd mercurial. –

+0

Como sus otras preguntas son principalmente basadas en Windows: ¿qué IDE está usando? Aunque la integración en el IDE no es un requisito para usar algún control de fuente, seguramente ayuda. De hecho, al hacer todas mis actividades cotidianas de CVS y SVN en Eclipse, ya casi no hago ninguna línea de comando. La integración de CVS y SVN en Eclipse es buena (aunque esta última necesita un complemento) por lo que CVS y SVN son buenas opciones para mis proyectos, pero no conozco otros IDEs. – Arjan

Respuesta

19

Por lo tanto, hace mucho tiempo, en los malos tiempos de antaño, el control de fuente utilizaba una metáfora de biblioteca. Si desea editar un archivo, la única forma de evitar conflictos es asegurarse de que usted sea el ÚNICO que edita el archivo. Lo que haría es pedirle al sistema de control de origen que "revise" ese archivo, indicando que lo está editando y que a nadie más se le permitió editarlo hasta que haya realizado los cambios y el archivo haya sido "registrado". Si necesitabas hacer un cambio en un archivo desprotegido, tenías que ir a buscar a ese maldito desarrollador que había tenido todo lo importante.conf desprotegido desde el martes pasado ... increíble Bill ...

De todos modos, control de fuente ya no funciona así, pero el lenguaje se nos quedó grabado. Hoy en día, el código de "salida" significa descargar una copia del código del repositorio de código. Los archivos aparecerán en un directorio local, lo que le permitirá usarlos, compilar el código e incluso realizar cambios en la fuente que quizás pueda volver a cargar más tarde en el repositorio, en caso de que lo necesite. Aún mejor, con solo un comando, puede obtener todos los cambios que otros desarrolladores hayan realizado desde la última vez que descargó el código. Buen material.

Existen varias bibliotecas principales de control de fuentes, de las cuales SVN (también llamada Subversion) es una (CVS, Git, HG, Perforce, ClearCase, etc. son otras). Recomiendo comenzar con SVN, Git o HG, ya que son todos gratuitos y todos tienen una documentación excelente.

Es posible que desee comenzar a utilizar el control de fuente, incluso si usted es el único desarrollador. No hay nada peor que darse cuenta de que anoche las mil líneas de código que eliminaste como inútiles en realidad eran críticamente importantes y ahora se pierden para siempre. El control de fuente le permite acercar y retroceder en el historial de sus archivos, permitiéndole recuperar cosas que no debería haber eliminado, y brindarle mucha más confianza sobre la eliminación de cosas inútiles. Además, jugar con eso solo es una buena práctica.

Ser cómodo con el software de control de fuente/revisión es una habilidad crítica para el trabajo de cualquier ingeniero de software serio. Dominarlo lo elevará efectivamente como desarrollador profesional. Llegar a un proyecto y descubrir que el equipo guarda toda su fuente en una carpeta en alguna parte es una experiencia horrible. ¡Buena suerte! ¡Ya estás en el camino correcto solo por estar interesado!

+2

¡Muy buen sentido de contar historias! –

19

Salida excelente serie de artículos de Eric Sink:

Source Control HOWTO

+4

Voto a favor (¿intencional?) Del juego de palabras –

+0

Sí, fue involuntaria. :) ... pero de nuevo .. –

+1

Parece prometedor hasta el momento. Espero que proporcione una solución de código abierto en lugar del producto que vende. Gracias a todos). – johnny

1

¿Va a crear el proyecto que requiera control de código fuente? De ser así, elija un sistema de control de fuente que satisfaga sus necesidades y lea la documentación sobre cómo configurarlo. Si simplemente está utilizando un sistema de control de origen previamente configurado para un proyecto existente, pregúntele a un compañero de trabajo que lo ha estado usando o pregúntele a la persona que configuró el sistema de control de origen. Para elegir un sistema de control de fuente que satisfaga sus necesidades, la mayoría de los sistemas de control de fuente tienen descripciones extensas de sus características en línea, muchos ofrecen evaluación o incluso productos completamente gratuitos, y hay muchas muchas descripciones anecdóticas de lo que funciona con cada individuo. El sistema de control de fuente es similar, lo que puede ayudar.

Simplemente no use Microsoft Visual SourceSafe si valora su cordura y su código.

+0

Tenga en cuenta que puede obtener excelentes herramientas VCS de forma gratuita, que son bastante fáciles de configurar. La única razón para usar uno que sea menos que excelente es si ya está instalado y en uso. –

+0

Acerca de los únicos archivos que desearía tener un bloqueo exclusivo en estos días son los archivos binarios (por ejemplo, archivos de bases de datos o mapas de bits); y la mayoría de los SCM en estos días harán automáticamente un bloqueo exclusivo en los tipos de archivos que tratan como binarios y un bloqueo no exclusivo en otros tipos de archivos.La mayoría de los SCM en estos días tienen instalaciones de fusión decentes para archivos de texto para aquellos casos en que dos o más desarrolladores tienen el mismo archivo bloqueado y uno quiere verificarlo nuevamente después de que otro haya verificado sus cambios en. – RobH

2

Recomiendo Git y Subversion (SVN) como sistemas de control de versiones libres y de código abierto que funcionan muy bien. Git tiene algunas características agradables dado que puede ser más fácil trabajar descentralizado.

+0

Si reviso mi código de Subversion, ciertamente no tengo acceso exclusivo a nada. –

+2

Ese es un significado de "check out", pero cada vez es más anticuado. El significado más común es que obtienes una copia de todo lo que necesitas, independientemente de lo que alguien más tenga. Los VCS modernos no están diseñados para funcionar con acceso exclusivo, aunque algunos de ellos tienen alguna provisión para ello. –

+0

¿Por qué se mudarían de lo que él puso? Suena bien tener control exclusivo. ¿De qué otra forma podrías evitar escribir sobre el otro? (Solo trato de entenderlo) – johnny

2

Verificar significa recuperar un archivo de un sistema de control de origen. Un sistema de control de origen es una base de datos (algunos, como CVS, usan solo archivos de texto marcados especialmente, pero un sistema de archivos también es una base de datos) que contiene todas las versiones de su código (que se registran después de realizar modificaciones).

Microsoft Visual SourceSafe utiliza una base de datos muy patentada que es propensa a daños si no se mantiene regularmente y utiliza los pagos reservados exclusivamente. No lo use, por todos esos motivos.

La diferencia entre una salida reservada y una salida sin reserva se encuentra en una salida sin reserva; dos personas pueden modificar el mismo archivo a la vez. El primero que realiza el check-in no tiene ningún problema, y ​​el segundo tiene que actualizar su código a la última versión y fusionar los cambios en los suyos (lo que generalmente ocurre automáticamente, pero si se cambió la misma área del archivo, entonces hay un conflicto, que debe resolverse antes de que pueda verificarse).

Para ver algunos argumentos para las comprobaciones sin reservas, consulte here.

A continuación, verá un proceso de compilación que verifica independientemente el código y crea el código fuente, de modo que los cambios de todos se construyan y distribuyan juntos.

Cuestiones relacionadas