64 votes

Il n'y a rien de changé, mais eclipse egit marque le fichier comme modifié

J'utilise eclipse egit avec github. J'ai trouvé quelque chose d'étrange : je n'ai rien changé, mais egit a marqué le fichier comme "modifié". Voir les images :

  1. le fichier "run.bat" est marqué comme "modifié".

    enter image description here

  2. Comparez avec "fichier dans l'index Git", vous pouvez voir que rien n'est différent.

    enter image description here

  3. Comparez avec "file in HEAD", vous pouvez voir que rien n'est différent.

    enter image description here

Mon ami utilise mac et j'utilise Windows, mais nous avons tous configuré git comme "commit unix lineend" . J'ai également vérifié le lineend de mon source et du HEAD, ils sont les mêmes (j'ai configuré git pour les convertir en " \r\n " en tirant)

Où est le problème ? Est-ce un bug d'Egit ?

1 votes

Vérifiez les fins de ligne - CR, CR-LF

0 votes

"J'ai configuré git pour les convertir en " \r\n " en tirant " : ça devrait être la cause juste là, non ?

1 votes

On dirait que vous avez mélangé les fins de ligne dans un fichier. Je ne sais pas comment cela fonctionnerait alors. La conversion automatique est difficilement prévisible pour moi, je la désactive habituellement...

62voto

Mark Carter Points 2009

Préférences d'Eclipse / Équipe / Git / Configuration / Paramètres utilisateur

(section "noyau")

key: autocrlf
value: false

La clé devrait déjà exister, il suffit donc de modifier la valeur.

Si vous créez une nouvelle clé, utilisez "core.autocrlf".

0 votes

Cela ne fonctionne pas pour moi. Le site Localisation affichée dans l'onglet User Settings est ma gitconfig globale ( C:\Users\William\.gitconfig ) et possède tous les paramètres corrects. Cependant, git commit -m fonctionne bien, alors que la méthode d'Eclipse Engagez-vous L'option atomise mes terminaisons de ligne.

1 votes

Cela m'a aidé, mais j'ai dû supprimer le repo et le réimporter.

0 votes

Ça a marché une fois que j'ai fait un clic droit sur le projet et que j'ai fait Team->Synchronize Workspace

48voto

Adam Dymitruk Points 34999

L'une des premières choses avec lesquelles j'ai eu des problèmes dans Git.

Je l'ai toujours dit :

git config --system core.autocrlf false

Pour se débarrasser de la surbrillance CR dans les vues diff et patch, utilisez :

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

Si vous partagez vos ordinateurs avec d'autres personnes, remplacez '--system' par '--global'.

13 votes

Cela ne m'a pas aidé. Les changements que vous mentionnez sont appliqués lorsque vous utilisez la ligne de commande git, mais pas pour EGit.

3 votes

@Ztyx veuillez voir ma réponse, pour une solution EGit.

0 votes

Vous devriez descendre en ligne de commande pour utiliser git. Ou obtenir un plugin pour eclipse pour afficher une ligne de commande.

16voto

Axel Dörfler Points 339

Par la suite, comme je viens de rencontrer le même problème, une autre raison pour laquelle EGit détecte tous les fichiers comme étant modifiés est un problème de permission de fichier POSIX, du moins lorsqu'il est utilisé avec le git de Cygwin.

Ce qui suit résoudra ce problème, mais gardez à l'esprit que cela signifie également qu'ils sont ignorés :

$ git config core.filemode false

3 votes

Merci beaucoup ! Cela a également nécessité la fermeture/ouverture du projet.

0 votes

C'était aussi mon problème. Pour l'instant, j'ai pu corriger les permissions sur le fichier et le valider.

0 votes

C'était aussi mon problème. Merci beaucoup, l'heure passée à chercher une solution a porté ses fruits !

9voto

Marcus Points 167

Pour les problèmes spécifiques à Eclipse concernant le saut de ligne, vous pouvez également modifier le caractère de retour dans les préférences d'Eclipse où vous pouvez modifier le délimiteur de ligne du nouveau fichier texte de la syntaxe Windows à la syntaxe Unix, ce qui devrait aider.

Eclipse Next File Line Delimiter settings

1 votes

C'est la bonne réponse avec autocrlf réglé sur false

0 votes

Changer juste cette préférence m'a aidé mais j'ai dû redémarrer mon Eclipse après avoir modifié ce paramètre. BTW Je faisais face à ce problème en utilisant Eclipse sur Windows 10 et le fichier signalé comme modifié sur Windows-Eclipse a été modifié à l'origine sur Ubuntu et poussé vers le repo distant et tiré sur la machine Windows. Merci.

8voto

lucky8060 Points 81

Vous pouvez ignorer les différences d'espacement avec les paramètres d'Eclipse sous Compare/Patch. Préférences-->Général-->Compare/Patch, vous pouvez trouver l'option "Ignorer les espaces blancs" à droite, et sélectionner cette option.

0 votes

Ainsi que : Préférences/Team/Git/[boîte Informations sur la révision] "ignorer les changements d'espacement".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X