7 votes

git marque les fichiers inchangés comme modifiés

Voici le problème de base : git semble marquer tous mes fichiers comme modifiés, même s'il n'y a pas de changement. Même si le diff ne montre aucune différence, il me demande quand même de stager / commiter tous les fichiers à nouveau. Comment puis-je convaincre git qu'il n'y a pas de changements d'une manière qui permette de suivre les changements effectués à partir de ce point ?

J'ai un dépôt git que je modifie sur deux ordinateurs distincts (tous deux sont des Mac). J'ai l'habitude de les transférer en utilisant une image de système de fichiers cryptée sur une clé USB et copiée en utilisant rsync. Lorsque je transfère les fichiers sur mon ordinateur portable, tous les fichiers sont marqués comme modifiés. Si j'ignore git et que je travaille sur les fichiers, en les renvoyant par rsync, l'autre machine reconnaîtra à nouveau correctement les seuls fichiers modifiés. Cela fonctionne donc en quelque sorte, mais c'est vraiment gênant pour travailler sur mon ordinateur portable lorsque je ne peux pas valider mes modifications avant d'être de retour sur l'autre machine, car je dois alors valider plusieurs modifications en un seul checkin.

7voto

Fabian Points 179

Il s'avère que ce n'était pas la fin de la ligne après tout. Je doutais de cette solution car je supposais que git aurait alors montré chaque ligne comme modifiée - ce qui n'était pas le cas. Mais aujourd'hui, je suis tombé sur une petite entrée qui était dans le journal lorsque j'ai vérifié les fichiers sur ma machine de travail. les droits d'accès au fichier avaient été modifiés de 644 à 755 (ou vice versa) lors du transfert entre les machines.

La solution se trouve ici, sur stackoverflow, dans cette question : Comment faire pour que git ignore les changements de mode (chmod) ?

3voto

eykanal Points 8133

Je vérifierais si les fins de lignes sont modifiées lors du transfert. Bien que cela puisse être un véritable casse-tête, vous pouvez y remédier en utilisant la commande core.autocrlf comme décrit dans cette question .

Je voudrais également vérifier La section d'aide de GitHub sur les fins de ligne Vous y trouverez de bons conseils sur la manière de traiter ce type de problème (en supposant qu'il s'agisse bien de votre problème).

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