Diferencia entre revisiones de «Gestión de versiones con Git»
(artículo inicial sobre git) |
(→Introducción histórica: referencia a bitkeeper) |
||
Línea 3: | Línea 3: | ||
= Introducción histórica = | = Introducción histórica = | ||
− | [http://git-scm.com Git] fue elaborado para reemplazar a [http://en.wikipedia.org/wiki/BitKeeper], un sistema de versiones no libre que se empleaba para la gestión de versiones del núcleo de [http://es.wikipedia.org/Linux Linux]. | + | [http://git-scm.com Git] fue elaborado para reemplazar a [http://en.wikipedia.org/wiki/BitKeeper Bitkeeper], un sistema de versiones no libre que se empleaba para la gestión de versiones del núcleo de [http://es.wikipedia.org/Linux Linux]. |
= Órdenes básicas = | = Órdenes básicas = |
Revisión del 11:27 15 oct 2013
Git es un sistema de versiones inicialmente diseñado y desarrollado por Linus Torvalds con el fin de ofrecer un sistema de versiones distribuido y eficiente para el núcleo de Linux, empleado hoy día en los populares sistemas operativos Android y Ubuntu.
Introducción histórica
Git fue elaborado para reemplazar a Bitkeeper, un sistema de versiones no libre que se empleaba para la gestión de versiones del núcleo de Linux.
Órdenes básicas
- init, para iniciar un repositorio, dentro de la carpeta en la que se quiere realizar la gestión de versiones.
git init
</syntaxhighligh>
Esto crea una carpeta de control .git, con toda la metainformación necesaria para que git sea operativo.
* ''status'', permite saber el estado en el que se encuentra el repositorio.
<syntaxhighlight lang="c">
git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ejemplo.py
nothing added to commit but untracked files present (use "git add" to track)
- add, para añadir ficheros y contenido que se pretende versionar:
git add ejemplo.py
</syntaxhighligh>
Tras esto ''status'' indica:
<syntaxhighlight lang="c">
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: ejemplo.py
- commit, para aplicar los cambios. Requiere un mensaje en el que la primera línea está reservada al título y las siguientes a la descripción. No envía ningún tipo de información por la red.
git commit -a
La opción -a sirve para indicar que se añada también todo lo pendiente de cambios (ficheros modificados).
- push, envía los cambios acumulados al repositorio de origen (puede tratarse de un repositorio remoto disponible en un servidor, aunque no necesariamente).
- pull, recupera los cambios acumulados en un repositorio (puede tratarse de un repositorio remoto disponible en un servidor, aunque no necesariamente).
- clone, genera un repositorio copia de otro repositorio de origen (puede tratarse de un repositorio remoto disponible en un servidor, aunque no necesariamente).
<syntaxhighlight lang="c"> git clone git://git.netfilter.org/iptables </syntaxhighligh>
Diferencias entre git y subversion
Las dos principales diferencias son:
- git permite configuraciones completamente distribuidas, mientras que subversion sólo permite configuraciones centralizadas.
- git no requiere conectividad permanente a la red.
Para los que están familiarizados con subversion, está disponible la siguiente documentación en el que se muestran las principales diferencias Git - SVN Crash Course.