Parte II. Fundamentos de Git

Los siguientes capítulos destacan cómo gestiona Git los archivos, explican la importancia del índice y cómo se relaciona con este proceso, y examinan detalladamente el objeto commit y el importante papel que desempeñan las ramas en un repositorio Git.

Antes de continuar, nos gustaría explicar por qué hemos elegido tratar estos temas en este orden.

En "Git Internals: Conceptos en funcionamiento", diseccionamos los objetos disponibles dentro del almacén de objetos de Git. Veamos cómo se crean los objetos y cuándo establecen vínculos entre ellos.

Primero crearemos un directorio vacío e inspeccionaremos su contenido utilizando el comando tree:

   $ mkdir myrepo && cd myrepo

   $ git status
   fatal: not a git repository (or any of the parent directories): .git

   $ tree .git
   .git [error opening dir]

   0 directories, 0 files
   

Como no se trata de un repositorio Git, no hay directorio .git. A continuación, inicializaremos un repositorio Git vacío y volveremos a inspeccionar el contenido del directorio:

   $ git init -b main
   Initialized empty Git repository in /myrepo/.git/

   $ tree .git .git ├── HEAD ├── config ├── description ├── hooks │ ├── applypatch-msg.sample │ ├── commit-msg.sample │ ├── fsmonitor-watchman.sample │ ├── post-update.sample │ ├── pre-applypatch.sample │ ├── pre-commit.sample │ ├── pre-merge-commit.sample │ ├── pre-push.sample │ ├── pre-rebase.sample │ ├── pre-receive.sample │ ├── prepare-commit-msg.sample │ ├── push-to-checkout.sample │ └── update.sample ...

Get Control de versiones con Git, 3ª edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.