J'observé le comportement suivant tout en travaillant avec la base de code Perl (sur la branche maint-5.004):Comment devrait se comporter git lorsque deux liens vers un même fichier sont différents?
bash-3.2$ git status | grep modified # modified: configure bash-3.2$ git reset --hard HEAD is now at 9a4fb7e copy over bleads .gitignore bash-3.2$ git status | grep modified # modified: Configure bash-3.2$ git reset --hard HEAD is now at 9a4fb7e copy over bleads .gitignore bash-3.2$ git status | grep modified # modified: configure
Cela se produit parce que les deux fichiers partagent un inode (ils sont le même fichier), mais ils sont différent dans l'index git. Ma question est la suivante: comment cela s'est-il passé? Si git suit 2 liens vers le même fichier, devrait-on s'attendre à ce qu'il marque une erreur quand un seul d'entre eux est modifié? Est-ce un bug git ou une erreur de l'utilisateur?
Mise à jour:
Il semble que la question est pas git, mais est liée à la casse du système de fichiers (HFS +).
$ mkdir tmp $ cd tmp $ touch foo $ ls -i foo Foo 10301082 Foo 10301082 foo
Je pense peut-être que OS X doit reconsidéré comme une plate-forme utile pour le développement, car ce comportement est absurde.
Ces deux fichiers séparés ont-ils le même contenu mais des noms ou des liens différents? – Abizern
L'index git est un endroit spécial où les fichiers sont mis en scène quand vous ajoutez git. vérifier les docs pour git reset, mon pari est que vous ne changez pas l'index – Andrew