Creando un repositorio
Hoja de ruta
Leccion: 10 min
Prácticas: 0 minPreguntas
¿Dónde almacena Git la información?
Objetivos
Crear un repositorio local de Git.
Una vez que Git está configurado, podemos comenzar a usarlo. Vamos a crear un directorio para nuestro trabajo y nos movemos dentro de ese directorio:
$ mkdir planets
$ cd planets
Después le indicamos a Git hacer de planets
un repository— un lugar donde
Git puede almacenar las versiones de nuestros archivos:
$ git init
Si usamos ls
para mostrar el contenido del directorio,
parece que nada ha cambiado:
$ ls
Pero si agregamos la flag -a
para mostrar todo,
podemos ver que Git ha creado un directorio oculto dentro de planets
llamado .git
:
$ ls -a
. .. .git
Git utiliza este subdirectorio especial para almacenar toda la información del proyecto, incluyendo todos los archivos y subdirectorios. Si alguna vez borramos el directorio .git
,
perderemos la historia del proyecto.
Podemos revisar que todo esté configurado correctamente pidiendo a Git que nos informe el estado de nuestro proyecto:
$ git status
Si estás utilizando una versión de git distinta a la que yo utilizo, el output puede ser ligeramente distinto.
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
Lugares para crear un repositorio Git
Ademas de rastrear la información sobre los planetas (el proyecto que ya creamos), Drácula también quiere rastrear la información sobre las lunas. A pesar de las preocupaciones de Wolfman, Drácula crea el sub-directorio
moons
dentro de su directorioplanets
ingresando la siguiente secuencia de comandos:$ cd # volver al directorio de inicio $ mkdir planets # crear un nuevo diretorio llamado planets $ cd planets # entrar al directorio planets $ git init # hacer del directorio planets directory un repositorio Git $ mkdir moons # crear un subdirectorio planets/moons $ cd moons # entrar al directorio planets/moons $ git init # hacer del subdirectorio moons un repositorio Git
¿Es necesario correr el comando
git init
en el sub-directoriomoons
para poder realizar el seguimiento de los archivos almacenados en este directorio?Solución
No. Dracula no necesita transformar el sub-directorio
moons
en un repositorio Git, porque el repositorioplanets
realizará el seguimiento de todos los archivos, sub-directorios y archivos de los sub-directorios dentro del directorioplanets
. Entonces, a fin de poder hacer un seguimiento de toda la información sobremoons
, Dracula sólo necesita agregar el sub-directoriomoons
al directorioplanets
.Además, los repositorios Git pueden interferir entre sí si están “anidados” dentro de otro directorio: el repositorio exterior intentará controlar la versión del repositorio interno. Por lo tanto, lo mejor es crear cada nuevo repositorio Git en un directorio separado. Para asegurarte que no hay un repositorio en conflicto en el directorio, revisa el output de
git status
. Si se parece a lo siguiente, podrás crear un nuevo repositorio como se ha mostrado arriba:$ git status
fatal: Not a git repository (or any of the parent directories): .git
Corrigiendo errores de
git init
Wolfman le explica a Dracula cómo un repositorio anidado es redudante y puede causar problemas ms adelante. Dracula quiere eliminar el repositorio anidado. Cómo puede Dracula deshacer el último
git init
en el sub-directoriomoons
?Solución - USAR CON CUIDADO!
Para deshacerse de este pequeño error, Dracula puede simplemente eliminar el directorio
.git
del subdirectoriomoons
. Para ello puede ejecutar el siguiente comando desde el interior del directoriomoons
:$ rm -rf moons/.git
¡Pero ten cuidado! Ejecutar este comando en el directorio incorrecto eliminará toda la historia git de un proyecto que podrías querer conservar. Por lo tanto, revisa siempre tu directorio actual usando el comando
pwd
.
Puntos Clave
git init
inicializa un repositorio.