2012-07-30 28 views
13

No puedo hacer que esto funcione.Cómo hacer que Git en Windows ignore los enlaces simbólicos

He clonado un repositorio que tiene un archivo ficticio (llamado src): /path/src.

En Windows he creado un enlace simbólico: mklink -d /path/src /otherplace/src (pero, por supuesto, tuve que eliminar primero el archivo ficticio src).
En tanto mi .gitignore y .git/info/exclude que tienen

/path/src/ 
/path/src 
path/src/ 
path/src 

y he intentado

git ls-files -s | gawk '/120000/{print $4}' 

git update-index path/src/ --assume-unchanged 

pero aún así obtener:

error: readlink("path/src"): Function not implemented 
error: unable to index file path/src 
fatal: updating files failed 

He intentado todos theseothersuggestions. E incluso this doesn't work.
¿Alguna idea?

+0

¿resolvió el problema? – Jus12

+0

@ Jus12, sinceramente, no recuerdo si alguna vez lo resolví. Fue hace algún tiempo, y no recuerdo qué proyecto era. –

+1

No tengo la respuesta, pero sé configurar 'git config core.symlinks true' en lugar de' git config core.symlinks false' eliminó el error de función no implementada para mí. En consecuencia, los enlaces simbólicos que creé usando mklink en Windows se enviaron sin error, pero al clonar el proyecto nuevamente, los enlaces simbólicos se convierten en archivos de texto que indican dónde se encuentran los archivos originales en lugar de trabajar como un enlace simbólico real. –

Respuesta

3

se puede hacer un pago y envío ignorar esta fila india como esto:

git checkout HEAD . --no path/src 

El archivo .gitignore sólo funciona para añadir cosas para el índice. Incluso las modificaciones en los archivos comprometidos antes de agregarlo al .gitignore no se ignoran.

+0

No parece haber un comando para "git checkout HEAD. --no" "error: opción ambigua: no" (Git 1.9.4) – JoeyC

+1

Sí @JoeyC sucedió justo ahora cuando lo probé. Buscaré otra solución. –

Cuestiones relacionadas