Git-The Fasta Version Control System

Páginas: 5 (1110 palabras) Publicado: 13 de abril de 2011
GIT
The fast version control system

Ana María

Año: 2011


GIT
Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número archivos de código fuente. Al principio, Git se pensó como un motor de bajo nivel sobre el cual otros pudieran escribir lainterfaz de usuario o front end como Cogito o StGIT.  Sin embargo, Git se ha convertido desde entonces en un sistema de control de versiones con funcionalidad plena.  Hay algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programación del núcleo Linux.
El diseño de Git se basó en BitKeeper y en Monotone.
El diseño de Git resulta de la experiencia del diseñadorde Linux, Linus Torvalds, manteniendo una enorme cantidad de código distribuida y gestionada por mucha gente, que incide en numerosos detalles de rendimiento, y de la necesidad de rapidez en una primera implementación.

¿Qué es el control de versiones?
El control de versiones, alternativamente conocido también como control de código fuente o administración de código fuente, es un sistema que mantieneversiones de los archivos en las etapas progresivas del desarrollo. El sistema de control de versiones es similar en teoría a respaldar tus archivos, pero más inteligente. Cada archivo en el sistema tiene una historia completa de cambios, y puede ser fácilmente restaurado a cualquier versión de su historia. Cada versión tiene un identificador único que luce como una cadena de letras y números.(443e63e6...)

Estructura del Repositorio
La versión más simple del sistema de control de versiones consiste de un repositorio en donde todos los archivos y sus versiones viven. Simplemente, un repositorio trabaja como una base de datos; puede devolver cualquier versión de cualquier archivo dentro, o el historial de cambios de cualquier archivo, o quizás un historial de los cambios a través delproyecto entero.
El repositorio de usuarios puede chequear una copia de trabajo, la cual es una copia de los últimos archivos a los que los usuarios pueden aplicar cambios. Después de hacer algunos cambios, los usuarios pueden entonces ingresar (check in o commit) los cambios al repositorio, el cual crea una nueva versión con metadata referida a los cambios que fueron aplicados y a la persona quelos hizo.
Si bien la forma más simple es tener una fuente canónica para el repositorio, esto no es necesario.
Cada usuario tiene una copia completa del repositorio en su maquina local. Generalmente, tu aplicarás cambios a tu repositorio local, y una vez que esté completo, empujaras (push) tu trabajo al repositorio compartido de tu equipo. También puedes tirar (pull) de los cambios de otrosrepositorios.

Ramas (Branches)
Las ramas cumplen el mismo rol que el borrador cuando escribes un mail. Puedes trabajar en un borrador, guardándolo frecuentemente hasta que esté completo.; entonces, cuando esté listo, envías el email, y el borrador es eliminado. En este caso, la carpeta de Enviados no se poluciona con tus cambios frecuentes, hasta que tu presionas “enviar”.
El branching es útilcuando desarrollas nuevas características, debido a que permite a la rama maestra –la carpeta de Enviados – estar trabajando siempre y deployable. Puede haber cualquier número de borradores –ramas experimentales- en desarrollo activo. Las ramas son fáciles crear y de intercambiar.
Una vez que el código en una rama se finaliza y la rama pasa sus tests, lo cambios son mezclados (merged) en la ramamaestra y la rama es removida, como ocurre con el borrador del correo. Si alguien aplica cambios de código (commit) a la rama maestra, es fácil actualizar la rama al último código maestro.

Flujo de trabajo (Workflow)
El ataque de los clones
Para tener una copia de trabajo de tu código base, necesitas clonar un repositorio remoto en tu maquina local. El clonado crea el repositorio y obtiene...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Git Sistema de control de versiones
  • Control Versiones GIT
  • Control de versiones git vs svn
  • The fasta,
  • the fastes
  • The fast
  • The stanislavsky system– the process
  • The System Respiratory

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS