Git – Cambios vistos por las copys de trabajo, pero no persisten en el Bare Repository

Yo y un par de desarrolladores trabajamos localmente en un server, todos nos conectamos allí a través de RDP.

Configuré una carpeta en la unidad D: \ Projects para save nuestro repository vacío.

Todos los miembros del equipo crearon copys locales en sus carpetas de inicio y comenzaron a trabajar muy bien, y por muy bien quiero decir, cada vez que alguien se compromete y empuja, el otro puede tirar y ver los cambios.

Pero estoy intrigado con algo, si miro en el repository desnudo, los files cambiados allí no han cambiado y mantienen su contenido original.

¿Git está almacenando los cambios en otro lugar? Si es así, ¿cómo puedo decirle que persista los cambios directamente sobre los files del repository desnudo?

Ejemplo: (usuario de jp y usuario de cr trabajando)

  • Antes de empujar

    D: \ Projects \ fileA: contenido "ABC"

    D: \ Versioning \ jp \ Projects \ fileA: contenido "ABC D" -> cambiado

    D: \ Versioning \ cr \ Projects \ fileA: contenido "ABC" -> sin ver los cambios aún

  • Después de Push desde jp a repo y Pull from cr user

    D: \ Projects \ fileA: contenido "ABC" -> mantiene el original

    D: \ Versioning \ jp \ Projects \ fileA: contenido "ABC D"

    D: \ Versioning \ cr \ Projects \ fileA: contenido "ABC D"

Estoy revisando los files de repos haciendo clic con el button derecho y editando con Notepad ++.

Al principio creé el repository con git init, luego me di count de que lo que necesitaba era un simple, así que copié el contenido de .git en la raíz del repository, y modifiqué la configuration para marcar el repository como descubierto.

Después, cada desarrollador clonado de este repository desnudo y ahora todo va bien, excepto esta pequeña parte, necesitamos tener un lugar donde los files más actualizados estén disponibles para otro equipo, responsable de la creación de las configuraciones (para los clientes).

Los repositorys desnudos no contienen un tree de trabajo que contenga el estado de la carpeta .git de los repositorys no desnudos. No puede ver directamente los files que están almacenados dentro de ellos.

En caso de que su repository desnudo no sea un verdadero repository desnudo: no es recomendable insert en un repository normal el tree de trabajo y no es recomendable insertlo en un repository no vacío.

En caso de que estuviera mirando la carpeta de objects: los files en la carpeta de objects son inmutables y no se modificarán. Solo se eliminarán y agregarán.

Nota: No debe modificar el contenido de un repository vacío a less que realmente sepa lo que está haciendo, ya que puede destruir el repository. El repository desnudo está destinado a ser administrado por git.