Git(pronunciado "guit"
) es un software dediseñado por, pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando éstas tienen un enorme número de archivos de. Su propósito es llevar registro de los cambios en ficheros de computadora y coordinar el trabajo que múltiples personas efectúan sobre ficheros compartidos.
Al principio, Git se pensó como un motor de bajo nivel sobre el cual otros pudieran escribir la interfaz de usuario ocomoo.
Sin embargo, Git se ha convertido desde ese momento en un sistema de control de versiones con funcionalidad plena.
Hay ciertos proyectos de mucha relevancia que ya usan Git, en particular, el grupo dedel.
ElGit está hoy día (2009) supervisado por Junio Hamano, quien recibe contribuciones al código de alrededor de 280 programadores. En lo que se refiere a derechos de autor Git es undistribuible bajo los términos de la versión dos de la.
El diseño de Git se basó eny en.
Originalmente fue diseñado como un motor de sistema de control de versiones de bajo nivel sobre el que otros podrían codificar interfaces frontales, tales comoo.
Desde ese entonces hasta ahora el núcleo del proyecto Git se ha vuelto un sistema de control de versiones completo, aprovechable en forma directa.
buscaba un sistema distribuido que pudiese utilizar en forma semejante a BitKeeper, mas ninguno de los sistemas bajo software libre disponibles cumplía con sus requerimientos, especialmente en cuanto a desempeño. El diseño de Git sostiene 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.
Entre las características más relevantes se encuentran:
Git ciclo vital de archivos git
Esto crea un subdirectorio nuevo llamado .git, el cual contiene todos los archivos precisos del repositorio – un esqueleto de un repositorio de Git. Todavía no hay nada en tu proyecto que esté bajo seguimiento.
Descarga los cambios efectuados en el repositorio recóndito.
git merge
<nombre_rama>
:Impacta en la rama en la que te hallas parado, los cambios realizados en la rama “nombre_rama”.
Unifica los comandos
fetchy
mergeen un único comando.
git commit -am "<mensaje>"
:Confirma los cambios realizados. El “mensaje” en general se utiliza para asociar al
commituna breve descripción de los cambios efectuados.
git push origin
<nombre_rama>
:Sube la rama “nombre_rama” al servidor recóndito.
Muestra el estado actual de la rama, como los cambios que hay sin commitear.
git add
<nombre_archivo>
:Comienza a trackear el fichero “nombre_archivo”.
git checkout -b
<nombre_rama_nueva>
:Crea una rama desde la que te encuentres parado con el nombre “nombre_rama_nueva”, y después salta sobre la rama nueva, por lo que quedas parado en esta última.
git checkout -t origin/
<nombre_rama>
:Si hay una rama recóndita de nombre “nombre_rama”, al ejecutar este comando se crea una rama local con el nombre “nombre_rama” para hacer un seguimiento de la rama recóndita con exactamente el mismo nombre.
Lista todas y cada una de las ramas locales.
Lista todas las ramas locales y remotas.
git branch -d
<nombre_rama>
:Elimina la rama local con el nombre “nombre_rama”.
git push origin
<nombre_rama>
:Commitea los cambios desde el branch local origin al branch “nombre_rama”.
Actualiza tu repositorio remoto en caso que algún otro desarrollador haya eliminado alguna rama recóndita.
Elimina los cambios realizados que aún no se hayan hecho
commit.
git revert
<hash_commit>
:Revierte el
commitrealizado, identificado por el “hash_commit”.
Git plantea una enorme libertad en la forma de trabajar en torno a un proyecto. No obstante, para coordinar el trabajo de un grupo de personas en torno a un proyecto es necesario acordar como se trabajará con Git. A estos pactos se les llama
flujo de trabajo
Un flujo de trabajo de Git es una fórmula o una recomendación acerca del uso de Git para efectuar trabajo de forma uniforme y productiva.
Los flujos de trabajo más populares son git-flow, GitHub-flow, GitLab Flow y One Flow.
Creado en dos mil diez por Vincent Driessen.
Es el flujo de trabajo más conocido. Está concebido para aquellos proyectos que tienen entregables y ciclos de desarrollo bien definidos.
Está basado en 2 grandes ramas con infinito tiempo de vida (ramas master y develop) y varias ramas de apoyo, unas orientadas al desarrollo de nuevas funcionalidades (ramas feature-*), otras al arreglo de errores (hotfix-*) y otras orientadas a la preparación de nuevas versiones de producción (ramas release-*). La herramienta gitflowfacilita la automatización de las tareas implicadas en este flujo de trabajo
Es la rama principal. Contiene el repositorio que se encuentra publicado en producción, con lo que debe estar siempre y en toda circunstancia estable.
Es una rama sacada de
Master. Es la rama de integración, todas y cada una de las nuevas funcionalidades se deben integrar en esta rama. Entonces que se realice la integración y se corrijan los errores (en el caso de haber alguno), esto es que la rama se halle estable, se puede hacer un merge de development sobre la rama
Master.
Cada nueva funcionalidad se debe realizar en una rama nueva, específica para esa funcionalidad. Estas se deben sacar de
Development. Una vez que la funcionalidad esté desarrollada, se hace un merge de la rama sobre
Development, donde se integrará con las demás funcionalidades.
Sonque surgen en producción, con lo que se deben arreglar y publicar de forma urgente. Es por esta razón, que son ramas sacadas de
Master. Una vez corregido el fallo, se debe hacer una unificación de la rama sobre
Master. Al final, a fin de que no quede desactualizada, se debe realizar la unificación de
Mastersobre
Development.
diseño web drupal girona de release apoyan la preparación de nuevas versiones de producción. Para ellos se arreglan muchos fallos menores y se preparan apropiadamente los metadatos. Se suelen original de la rama develop y deben fusionarse en las ramas master y develop.
Creado en dos mil once por GitHub
y es la manera de trabajo sugerida por las funcionalidades propias de GitHub . Está centrado en un modelo de desarrollo iterativo y de despliegue incesante. Está basado en cuatro principios:
GitHub procura simplificar la gestión de ramas, trabajando de forma directa sobre la rama master y produciendo integrando las diferentes features directamente a esta rama
Creado en 2014 por Gitlab.
Es una suerte de extensión de GitHub Flow acompañado de un conjunto de pautas y mejores prá diseño y creación de páginas web aún más el proceso. Del mismo modo que GitHub Flow propone el uso de ramas de funcionalidad (feature) que se originan a partir de la rama master y que al finalizarse se mezclan con la rama master. Además introduce otros 3 tipos de ramas:
Creado en 2015 por Adam Ruka. En él cada nueva versión de producción está basada en la versión previa de producción. La mayor diferencia entre One Flow y Git Flow es que One Flow no tiene rama de desarrollo.
Git se ha utilizado como software base sobre el que el que se han desarrollado otros proyectos