Diferencia entre revisiones de «Gestión de versiones con Git»

De Wiki de EGC
Saltar a: navegación, buscar
(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 12: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.