GNU/Linux >> Tutoriales Linux >  >> Linux

git fuerza el índice de actualización después de cambiar entre Windows y Linux

Como mencionó torek, probablemente no quieras hacer esto. Por lo general, no es una buena idea compartir un repositorio entre sistemas operativos.

Sin embargo, es posible, al igual que es posible compartir un repositorio entre Windows y el Subsistema de Windows para Linux. Es posible que desee intentar configurar core.checkStat a minimal , y si eso no es suficiente, core.trustctime a false . Eso lleva a que se almacene una cantidad mínima de información en el índice, lo que significa que los datos serán lo más portátiles posible.

Tenga en cuenta, sin embargo, que si su repositorio tiene enlaces simbólicos, es probable que nada de lo que haga impida las actualizaciones. Linux normalmente considera que la longitud de un enlace simbólico es su longitud en bytes, y Windows considera que toma uno o más bloques de disco, por lo que habrá una discrepancia de tamaño entre los sistemas operativos. Esto no se puede evitar, ya que el tamaño es uno de los atributos utilizados en el índice que no se puede desactivar.


Tienes toda la razón aquí:

  • Lo que estás usando aquí, que Git llama de diversas formas el índice , el área de preparación , o el caché , de hecho contiene datos de caché.

  • Los datos de caché que contiene son el resultado de llamadas al sistema.

  • Los datos de llamadas al sistema devueltos por un sistema Linux son diferentes de los datos de llamada del sistema devueltos por un sistema Windows.

Por lo tanto, un cambio de sistema operativo invalida por completo todos los datos de caché.

... ¿cómo puedo configurar el archivo de índice para un sistema diferente?

Su mejor apuesta aquí es no hacer esto en absoluto. Cree dos árboles de trabajo diferentes, o tal vez incluso dos repositorios diferentes. Pero, si eso es más doloroso que esta otra alternativa, prueba estas ideas:

El archivo de índice real que usa Git simplemente predeterminado a .git/index . Puede especificar un diferente archivo configurando GIT_INDEX_FILE a alguna otra ruta (relativa o absoluta). Entonces podrías tener .git/index-linux y .git/index-windows y establecer GIT_INDEX_FILE según el sistema operativo que estés usando.

Algunos comandos de Git usan un índice temporal. Lo hacen configurando GIT_INDEX_FILE ellos mismos. Si ellos un -establecerlo después, pueden usar accidentalmente .git/index en este punto. Así que otra opción es cambiar el nombre .git/index fuera del camino al cambiar de sistema operativo. Mantenga un .git/index-windows y .git/index-linux como antes, pero cambie el nombre del que esté en uso a .git/index mientras está en uso, luego cámbiele el nombre a .git/index-name antes de cambiar al otro sistema.

Una vez más, no recomiendo intentar ninguno de estos métodos, pero es probable que funcionen, más o menos.


Linux
  1. Cómo configurar el servidor SAMBA y transferir archivos entre Linux y Windows

  2. Windows:¿carpeta compartida entre Qemu Windows Guest y Linux Host?

  3. Linux:¿compartir archivos entre el host de Linux y el invitado de Windows?

  4. Cómo configurar una conexión Wifi-Direct entre Android y Linux

  5. Qué sistema de archivos usar entre OSX y Linux

Cómo instalar y usar Git en el sistema Linux

Comparta archivos fácilmente entre Linux, Windows y Mac usando NitroShare

Arreglar Grub que no se muestra para el sistema de arranque dual de Windows y Linux

Cómo compartir archivos de juegos de Steam entre Linux y Windows

Cómo instalar y usar el comando Ack en el sistema Linux

Compartir archivos entre Linux Mint y Windows 10