Explicación del directorio .git
En este artículo, presentaremos la carpeta Git .git
. Cubriremos por qué Git crea la carpeta y qué contiene.
¿Qué es la carpeta .git
en Git?
Git es un sistema de control de versiones ampliamente utilizado. Un repositorio de Git almacena los cambios que realiza en su proyecto.
El directorio .git
almacena todos los datos en su repositorio. Esta carpeta puede almacenar cualquier cosa, desde información sobre commits hasta la dirección de correo electrónico de su repositorio.
También encontrará un registro que contiene su historial de commits. Con este registro, puede restaurar la versión de código deseada.
Cuando ejecuta el comando git init
para inicializar un repositorio vacío, Git crea la carpeta .git
.
Puede ver la carpeta ejecutando el siguiente comando.
ls -C .git
Puede esperar una salida como la siguiente.
$ ls -C .git
COMMIT_EDITMSG HEAD config hooks/ info/ objects/ refs/
FETCH_HEAD ORIG_HEAD description index logs/ packed-refs
Exploremos más a fondo el contenido de este directorio.
hooks/
: la carpetahooks
almacena archivos de secuencias de comandos. Git ejecuta estos archivos de script cuando ejecuta comandos comopush
ycommit
.objects/
: esta carpeta contiene la base de datos de objetos de Git.config
- Este es el archivo de configuración de Git.refs/
: esta carpeta contiene datos sobre ramas y etiquetas.HEAD
: este archivo almacena información sobre su rama maestra.index
: este archivo binario contiene los datos de preparación.
Puede ver lo que contiene la base de datos de objetos ejecutando el siguiente comando.
ls -C .git/objects
Debería obtener una salida como la siguiente.
$ ls -C .git/objects
03/ 24/ 30/ 77/ 87/ ac/ b6/ c6/ e1/ ec/ info/
19/ 29/ 4b/ 78/ 8b/ b1/ c3/ d4/ e6/ f6/ pack/
1f/ 2d/ 67/ 7b/ a6/ b2/ c4/ dd/ e9/ fa/
Puede consultar los objetos de la base de datos con el comando ls -C .git/objects/<dir>
.
Exploremos el archivo config
. Ejecute el comando cat .git/config
, como se muestra a continuación.
pc@JOHN MINGW64 ~/Git (main)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[gui]
wmstate = normal
geometry = 893x435+208+208 175 196
[remote "origin"]
url = https://github.com/Wachira11ke/Delftscopetech.git
fetch = +refs/heads/*:refs/remotes/origin/*
El archivo HEAD
hace referencia a su rama principal de forma predeterminada.
La carpeta .git
siempre está oculta para evitar daños. Si elimina el archivo, no podrá restaurar los cambios en su repositorio.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn