tag remote practices delete create crear best git git-index

remote - ¿Por qué el directorio de ensayo también se llama Índice/Índice Git?



git rename tag (1)

El artículo del principal mantenedor de Git, Junio ​​C. Hamano , es instructivo, para comprender la diferencia entre caché e índice:
(énfasis mío)

Cuando Linus comenzó a escribir git, su objetivo era permitirle reproducir todos y cada uno de los estados intermedios producidos por su flujo de trabajo original "tarball and patches" que usaba antes de los días de BitKeeper.
Partiendo de un tarball 2.6.12, pone en cola el parche-1, parche-2, ... así 2.6.12 en sí mismo, 2.6.12 con parche-1 aplicado, 2.6.12 con parche-1 y parche-2 aplicados Se convierten en tres versiones.

Pero esto obviamente no se escalará si tienes que barajar cientos de parches al día. Así que inventó el "caché de directorio"; como concepto, esto corresponde aproximadamente a los objetos del "árbol" en el git de hoy: una colección de registros, cada uno de los cuales es una representación compacta de lo que contiene toda una estructura de directorios.
La forma de crearlo era "agregar el contenido al caché o actualizar el contenido en el caché".

El directorio de control para alojar la colección de dichos registros de control de versión se denominó " .dircache " (se cambió su nombre a " .git " después de algún tiempo).
Había un archivo llamado " .dircache/index ", y el contenido de este archivo fue leído y manipulado en un conjunto de variables en C que fueron nombradas después de un nombre, " cache ".
En ese entonces, el concepto de lo que hoy llamamos índice, un área de búfer para crear la colección de contenidos que pretende escribir como un objeto de árbol, se denominó "caché" .
Todos hablaron de "caché" e "índice" indistintamente, ya que el archivo que registra lo que está en el " cache " se denominó " index ". Era (y sigue siendo) un índice que le permite encontrar el contenido en el caché asignándole un nombre de ruta .

A medida que más y más personas comenzaron a usar git sin tener que leer su código, el uso de la palabra "índice" se ha vuelto más frecuente por razones obvias.
Como algo que está en el sistema de archivos, es mucho más visible que el nombre de la variable en el código fuente de C.
Finalmente, dejamos de usar "caché" como un nombre para nombrar lo que llamamos "el índice" hoy cuando explicamos el uso de git como usuario final.
Sin embargo, la palabra "caché" todavía se usa como sustantivo cuando queremos hablar sobre la estructura de datos interna en el contexto de la implementación de git (por ejemplo, "Permitir que los programas trabajen con más de una caché al mismo tiempo" ).

En el nivel de usuario final, "caché" solo se usa como adjetivo en estos días ; "almacenado en caché", que significa "contenidos almacenados en caché en el índice, no los contenidos en el árbol de trabajo".
Podríamos haberlo llamado "indexado", pero "contenido en caché" era una frase ya establecida desde muy temprano para significar ese concepto exacto, y no necesitábamos otra palabra que significara lo mismo.

[...] En los días anteriores, había una distinción entre "agregar un nuevo archivo al índice" y "actualizar un archivo que ya está en el índice con nuevos contenidos".
[...] Las versiones modernas (y medievales) de git usan " git add " para ambos. Podríamos haber sido simplemente honestos y haber llamado el acto de actualizar o agregar el índice " add ", pero algunas personas de la industria de "entrenamiento de git" comenzaron a enseñar el índice como "el área de preparación para el próximo compromiso", y como consecuencia inevitable, un verbo "a escena" comenzó a aparecer en muchos documentos para indicar "el acto de agregar contenidos al índice".
Algunas veces uso este verbo yo mismo, pero eso es solo cuando sospecho que la audiencia podría haber aprendido primero de estas nuevas personas. Hablando estrictamente, esta es una palabra redundante y bastante reciente en el vocabulario de git.

Estaba confundido el nombre de directorio de ensayo (Git Index) en Git.

¿Hay algún significado especial que se llame Índice? ¿Por qué no solo llamar al directorio Cache / o Temp para que podamos entender más fácilmente?

Para mí, el índice es algo que nos ayuda a buscar cosas más rápido, como la indexación en DBMS, ¿cómo se relaciona con el área de preparación?

Hice una búsqueda en google pero todavía no tengo mucha idea. ref link Git Index