Estructura del repositorio Git










  • Cada repositorio de Git tiene una estructura. Es importante conocer la estructura de un repositorio de Git si va a aprender a utilizar el programa en todo su potencial. Si no está seguro de cómo estructura Git o el contenido del repositorio, consulte el diseño estructurado del repositorio de Git a continuación.

    Git es un sistema bastante avanzado. Es un sistema de control de versiones distribuido gratuito y de código abierto diseñado para manejar todo, desde proyectos pequeños hasta proyectos muy grandes. Le da la capacidad de hacer esto con rapidez y eficiencia.

    Una vez que tenga todos los comandos y funciones, comprenderá mejor la estructura del repositorio de Git. A continuación, verá cómo se configura la estructura del repositorio. Por lo tanto, esto debería darle una mejor idea de cómo funciona y cómo se ve.

    Aquí hay una estructura de repositorio de Git

    Verá que un directorio .git tiene una estructura similar al diseño a continuación.

    – objetos/carpeta 

    Este directorio almacena datos de sus objetos Git. Del mismo modo, esto incluye todo el contenido de los archivos que haya registrado alguna vez, sus confirmaciones, árboles y objetos de etiquetas.

       – – objetos/[0-9a-f][0-9a-f] carpetas

    Un objeto recién creado se almacena en su propio archivo. Los objetos se colocan en 256 subdirectorios utilizando los dos primeros caracteres del nombre del objeto SHA1 para mantener el número de entradas de directorio en los propios objetos en un número manejable. Además, los objetos que se encuentran aquí a menudo se denominan objetos sueltos o sin embalar.

       – – carpeta de objetos/paquete

    Este directorio almacena archivos que almacenan muchos objetos en forma comprimida, junto con archivos de índice para permitir el acceso aleatorio.

     – – carpeta de objetos/información

    La información adicional sobre el objeto almacenado se coloca en este directorio.

    – carpeta de referencias

    Este directorio almacena referencias en subdirectorios. El comando prune de Git sabe preservar los objetos accesibles desde las referencias que se encuentran en este directorio y sus subdirectorios.

       – – referencias/cabezas/carpeta

    Este directorio contiene objetos de confirmación.

       – – referencias/etiquetas/carpeta

    Contiene cualquier nombre de objeto.

       – – referencias/remotos/carpeta

    Aquí es donde se almacenan los objetos de confirmación de las ramas copiadas de un repositorio remoto.

    – archivo de referencias empaquetadas

    El archivo consta de encabezados y etiquetas empaquetados. Es útil para un acceso eficiente al repositorio.

    – archivo HEAD

    Este archivo contiene una referencia a la rama en la que se encuentra actualmente. Esto le dice a Git qué usar como padre de tu próxima confirmación.

    – archivo de configuración

    Este es el archivo de configuración principal de Git. Mantiene opciones específicas de Git para su proyecto, como sus controles remotos, configuraciones push, seguimiento de ramas y más. Su configuración se cargará primero desde este archivo. Luego, desde un archivo ~/.gitconfig y luego desde un archivo /etc/gitconfig, si existen.

    – sucursales

    Esta es una forma obsoleta de almacenar abreviaturas para especificar una URL para Git fetch, Git pull y Git push. Este mecanismo es heredado y no es probable que lo encuentre en repositorios modernos. Aún así, puede resultarle útil si no está ejecutando un repositorio moderno.

    – carpeta de ganchos

    Puede encontrar scripts de shell que se invocan después de los comandos de Git correspondientes en este directorio. Por ejemplo, después de ejecutar una confirmación, Git intentará ejecutar el script posterior a la confirmación.

    – archivo de índice

    El índice de Git es un área de preparación entre su directorio de trabajo y su repositorio. Puede usar el índice para crear un conjunto de cambios que desea confirmar juntos.

    Cuando crea una confirmación, lo que se confirma es lo que está actualmente en el índice, no lo que está en su directorio de trabajo. Es un archivo binario que contiene una lista ordenada de nombres de ruta, cada uno con permisos y el SHA-1 de un objeto blob.

    – carpeta de información

     Este directorio registra cualquier información adicional sobre el repositorio.

    – carpeta de controles remotos

    Esta carpeta contiene abreviaturas de URL y nombres de referencia predeterminados para usar al interactuar con repositorios remotos a través de los comandos Git fetch, Git pull y Git push. Este mecanismo es heredado y no es probable que lo encuentre en repositorios modernos. De nuevo, sin embargo, puede ser útil para usted.

    – carpeta de registros

    Almacena todos los cambios realizados en las referencias en el repositorio.

       – – registros/refs/cabezas/carpeta

    Esto registra todos los cambios realizados en las diferentes puntas de rama.

      – – registros/refs/etiquetas/carpeta

    Esto registra todos los cambios realizados en las diferentes etiquetas.

    – carpeta de módulos

    Contiene todos los repositorios git de los submódulos.

    – carpeta de árboles de trabajo

    Contiene datos administrativos para árboles de trabajo vinculados. Cada subdirectorio contiene la parte relacionada con el árbol de trabajo de un árbol de trabajo vinculado.

    Pensamientos finales

    El sistema Git es un programa enorme que puede ayudarte a realizar cientos de tareas. Cuando aprenda a usarlo correctamente, le ahorrará tiempo y esfuerzo al intentar armar algo. Esto es especialmente cierto cuando hay varias personas trabajando en un proyecto.

    Arriba está el resumen de una estructura de repositorio de Git. Una vez que lo aprenda y comprenda cómo funciona el diseño, y luego aprenda sobre los comandos de Git , hará que usar Git sea mucho más fácil. Como resultado, tendrás una mayor eficiencia a la hora de trabajar.

    ¡Buena suerte!