Explicación del directorio .git

John Wachira 23 agosto 2022
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.

  1. hooks/: la carpeta hooks almacena archivos de secuencias de comandos. Git ejecuta estos archivos de script cuando ejecuta comandos como push y commit.
  2. objects/: esta carpeta contiene la base de datos de objetos de Git.
  3. config - Este es el archivo de configuración de Git.
  4. refs/: esta carpeta contiene datos sobre ramas y etiquetas.
  5. HEAD: este archivo almacena información sobre su rama maestra.
  6. 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 Wachira avatar John Wachira avatar

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

Artículo relacionado - Git Directory