2011-11-22 31 views
42

Estoy usando eclipse egit con github. Encontré algo extraño que no cambié nada, pero por ejemplo marcó el archivo como "cambiado". Ver las imágenes:No ha cambiado nada, pero el eclipse por ejemplo marca el archivo como cambiado

  1. el archivo "run.bat" está marcado como "cambió"

    enter image description here

  2. comparación con el "archivo en el índice de Git", se puede ver nada es diferente

    enter image description here

  3. Comparar con "archivo en HEAD", se puede ver nada es diferente ni

    enter image description here

Mi amigo utiliza Mac y yo uso Windows, pero todos git configurado como "cometer UNIX lineend" .. También comprobó el lineend de mi fuente y la cabeza, que son los mismos (Configuré git para convertirlos a "\ r \ n" al tirar)

¿Dónde está mal? ¿Es un error de Egit?

+1

Comprobar finales de línea - CR, CR-LF – kan

+0

"Configuré git para convertirlos a" \ r \ n "al tirar": esa debería ser la causa, ¿no? – VonC

+1

Parece que tiene terminaciones de línea mixtas en un archivo. No estoy seguro de cómo funcionaría entonces. La conversión automática es difícil de predecir para mí, generalmente la desactivo ... – kan

Respuesta

37

Una de las primeras cosas que he tenido problemas en Git.

Lo he dicho siempre:

git config --system core.autocrlf false 

para deshacerse de CR destacando en vistas diff y patch, utilice:

git config --system core.whitespace cr-at-eol 

Si comparte sus ordenadores con los demás, reemplace '- -sistema 'con' --global '.

+0

¡Gracias, ayuda mucho! – Freewind

+12

No me ayudó. Los cambios que menciona se activan cuando se utiliza la línea de comandos de git, pero no para EGit. – Ztyx

+3

@Ztyx por favor vea mi respuesta, para una solución EGit. –

46

Eclipse Preferencias/Equipo Configuración/Git/configuración/usuario

(sección "núcleo")

key: autocrlf 
value: false 

ya debería existir la clave, por lo que sólo necesitan para editar el valor.

Si crea una nueva clave, utilice core.autocrlf.

+0

Esto me ayudó. ¡Gracias! –

+0

Esto no funciona para mí. La propiedad * Location * que se muestra en la pestaña User Settings es mi global gitconfig ('C: \ Users \ William \ .gitconfig') y tiene todas las configuraciones correctas. Sin embargo, 'git commit -m' funciona bien, mientras que la opción * Commit * de Eclipse destruye mis terminaciones de línea. – wchargin

+1

Esto me ayudó, pero tuve que eliminar el repositorio e importarlo nuevamente. –

11

Como seguimiento, como acabo de encontrarme con el mismo problema, otra razón para que EGit detecte todos los archivos modificados es un problema de permiso de archivo POSIX al menos cuando se usa junto con el git de Cygwin.

Lo siguiente solucionará eso; Sin embargo, tenga en cuenta que esto también significa que se tienen en cuenta a continuación:

$ git config core.filemode false

+3

¡Muchas gracias! Esto también requirió cerrar/abrir el proyecto. – Valakyr

+0

Ese fue mi problema también. Por ahora, pude arreglar los permisos en el archivo y confirmarlo. – jlh

+0

este fue mi problema también. ¡Muchas gracias, el pasado UNA HORA de búsqueda de solución ha valido la pena! –

5

Por cuestiones específicas Eclipse para el salto de línea, también puede cambiar el carácter de retorno en las preferencias de Eclipse donde se puede cambiar el Nuevo delimitador de línea archivo de texto desde la sintaxis de Windows a Unix, que debería ser de ayuda.

Eclipse Next File Line Delimiter settings

+0

sí, lo resolvió sin tener que tocar nada relacionado con git – ccleve

+1

esta es la respuesta correcta con autocrlf establecido en falso –

+0

Cambiando ** solo ** esta preferencia ayudó sin embargo tuvo que reiniciar mi Eclipse después de cambiar esa configuración. Por cierto, me enfrentaba a este problema usando Eclipse en Windows 10 y el archivo que se informa como modificado en Windows-Eclipse se modificó originalmente en Ubuntu y se envió al repositorio remoto y se ejecutó en la máquina de Windows. Gracias. –

-3

En General-> Espacio de trabajo.Seleccione Codificación de texto UTF-8

+1

¿Cómo esto ayudará con los problemas de final de línea en eclipse/git? –

+0

¿Puedes por favor elaborar un poco? –

+1

¿Has leído la pregunta y las respuestas? ¿Cómo se relaciona la codificación con este problema? –

2

Puede ignorar las diferencias de espacio en blanco con la configuración de Eclipse en Comparar/Parche. Preferencias -> General -> Comparar/Patch, puede encontrar el "Ignorar el espacio en blanco" a la derecha y seleccionar esta opción.

Cuestiones relacionadas