2010-06-08 6 views
0

J'essaie de comprendre ce qui se passe avec mon dépôt local Git.Git diff est devenu fou?

  1. Je modifie un fichier.
  2. Git rapports tout a changé dans le fichier (je ne change une ligne)
  3. Au début, je pense « doit être un problème de saut de ligne », mais ce n'est pas. Je fais une diff à TortoiseGit, tout a l'air bien. Je fais un diff avec Netbeans (git plugin), tout semble bien.
  4. Je fais une réinitialisation, sauvegarde le fichier, le modifie, git à nouveau signale que tout a changé.
  5. Je fais une comparaison binaire dans Total Commander, les fichiers ont aucune différence à l'exception de la seule ligne que j'ai changé.
  6. Je réinitialise à nouveau le disque dur. Git me dit que ça a été fait avec succès. Git statut encore dit que mon fichier a changé. Je diff la chose et il n'y a pas de différences - bug git dit qu'il y en a.

J'ai essayé d'utiliser à la fois git bash et gui, avec les mêmes résultats (je suis sous Windows). Des indices, que se passe-t-il ici?

+0

Cela se produit uniquement avec ce référentiel ou tous les dépôts? Bien que vous pensiez que ce n'est pas un problème de retour à la ligne, vérifiez le paramètre 'core.autocrlf' (' git config --get core.autocrlf') de toute façon, il devrait être 'false'. – max

Répondre

0

Après avoir validé le fichier en question, j'ai redémarré le poste de travail et maintenant tout semble en ordre (j'ai essayé d'éditer d'autres fichiers dans le même repo et diff était bien).

N'avez aucune idée de ce qui s'est passé. J'écris celui-ci comme "Windows" ...

1

Windows utilise différents caractères de saut de ligne, lorsque vous modifiez le fichier dans l'environnement Windows, vous utilisez ces paramètres, puis lorsque Git le regarde, il ne reconnaît pas le saut de ligne. Vous pouvez essayer d'utiliser vi pour définir le format de fichier à unix qui convertira tous les caractères de saut de ligne au format unix: set ff = unix J'espère que ça aide

Questions connexes