Inicializando un repositorio en un directorio existente
Si estás empezando a seguir un proyecto existente en Git, debes ir al directorio del proyecto y usar el siguiente comando:
Esto crea un directorio llamado
$ git init
Esto crea un subdirectorio nuevo llamado
.git
, el cual contiene todos los archivos necesarios del repositorio – un esqueleto de un repositorio de Git.
Todavía no hay nada en tu proyecto que esté bajo seguimiento. Puedes revisar Los entresijos internos de Git para obtener más información acerca de los archivos presentes en el directorio .git
que acaba de ser creado.
Si deseas empezar a controlar versiones de archivos existentes (a
diferencia de un directorio vacío), probablemente deberías comenzar el
seguimiento de esos archivos y hacer una confirmación inicial.
Puedes conseguirlo con unos pocos comandos
git add
para especificar qué archivos quieres controlar, seguidos de un git commit
para confirmar los cambios:$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'
Si deseas obtener una copia de un repositorio Git existente — por
ejemplo, un proyecto en el que te gustaría contribuir — el comando que
necesitas es
git clone
.
Si estás familizarizado con otros sistemas de control de versiones como
Subversion, verás que el comando es "clone" en vez de "checkout". Es
una distinción importante, ya que Git recibe una copia de casi todos los
datos que tiene el servidor.
Cada versión de cada archivo de la historia del proyecto es descargada
por defecto cuando ejecutas git clone
.
De hecho, si el disco de tu servidor se corrompe, puedes usar cualquiera
de los clones en cualquiera de los clientes para devolver al servidor
al estado en el que estaba cuando fue clonado (puede que pierdas algunos
hooks del lado del servidor y demás, pero toda la información acerca de
las versiones estará ahí) — véase Configurando Git en un servidor para más detalles.
Puedes clonar un repositorio con
git clone [url]
.
Por ejemplo, si quieres clonar la librería de Git llamada libgit2 puedes hacer algo así:$ git clone https://github.com/libgit2/libgit2
Esto crea un directorio llamado
libgit2
, inicializa un directorio .git
en su interior, descarga toda la información de ese repositorio y saca una copia de trabajo de la última versión.
Si te metes en el directorio libgit2
, verás que están los archivos del proyecto listos para ser utilizados.
Si quieres clonar el repositorio a un directorio con otro nombre que no sea libgit2
, puedes especificarlo con la siguiente opción de línea de comandos:$ git clone https://github.com/libgit2/libgit2 mylibgit
Ese comando hace lo mismo que el anterior, pero el directorio de destino se llamará
mylibgit
.
Git te permite usar distintos protocolos de transferencia.
El ejemplo anterior usa el protocolo
https://
, pero también puedes utilizar git://
o usuario@servidor:ruta/del/repositorio.git
que utiliza el protocolo de transferencia SSH.
En Configurando Git en un servidor
se explicarán todas las opciones disponibles a la hora de configurar el
acceso a tu repositorio de Git, y las ventajas e inconvenientes de cada
una.Guardando cambios en el Repositorio
Ya tienes un repositorio Git y un checkout o copia de
trabajo de los archivos de dicho proyecto.
El siguiente paso es realizar algunos cambios y confirmar instantáneas
de esos cambios en el repositorio cada vez que el proyecto alcance un
estado que quieras conservar.
Recuerda que cada archivo de tu repositorio puede tener dos estados: rastreados y sin rastrear.
Los archivos rastreados (tracked files en inglés) son todos
aquellos archivos que estaban en la última instantánea del proyecto;
pueden ser archivos sin modificar, modificados o preparados.
Los archivos sin rastrear son todos los demás - cualquier otro archivo
en tu directorio de trabajo que no estaba en tu última instantánea y que
no están en el área de preparación (staging area).
Cuando clonas por primera vez un repositorio, todos tus archivos estarán
rastreados y sin modificar pues acabas de sacarlos y aun no han sido
editados.
Mientras editas archivos, Git los ve como modificados, pues han sido cambiados desde su último commit.
Luego preparas estos archivos modificados y finalmente confirmas todos los cambios preparados, y repites el ciclo.
El ciclo de vida del estado de tus archivos. |
Revisando el Estado de tus Archivos
La herramienta principal para determinar qué archivos están en qué estado es el comando
git status
.
Si ejecutas este comando inmediatamente después de clonar un repositorio, deberías ver algo como esto:$ git status
On branch master
nothing to commit, working directory clean
Esto significa que tienes un directorio de trabajo limpio - en otras palabras, que no hay archivos rastreados y modificados.
Además, Git no encuentra ningún archivo sin rastrear, de lo contrario aparecerían listados aquí.
Finalmente, el comando te indica en cuál rama estás y te informa que no ha variado con respecto a la misma rama en el servidor.
Por ahora, la rama siempre será “master”, que es la rama por defecto; no le prestaremos atención ahora.
Ramificaciones en Git tratará en detalle las ramas y las referencias.
Supongamos que añades un nuevo archivo a tu proyecto, un simple README.
Si el archivo no existía antes, y ejecutas
git status
, verás el archivo sin rastrear de la siguiente manera:$ echo 'My Project' > README
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
README
nothing added to commit but untracked files present (use "git add" to track)
Puedes ver que el archivo README está sin rastrear porque aparece debajo
del encabezado “Untracked files” (“Archivos no rastreados” en inglés)
en la salida.
Sin rastrear significa que Git ve archivos que no tenías en el commit anterior. Git no los incluirá en tu próximo commit a menos que se lo indiques explícitamente.
Se comporta así para evitar incluir accidentalmente archivos binarios o cualquier otro archivo que no quieras incluir.
Como tú sí quieres incluir README, debes comenzar a rastrearlo.
fuente: https://git-scm.com/book/es/
No hay comentarios:
Publicar un comentario