J'ai déplacé un fichier manuellement, puis je l'ai modifié. Selon Git, c'est un nouveau fichier et un fichier supprimé. Existe-t-il un moyen de forcer Git à le traiter comme un fichier?
Réponses
Trop de publicités? Git détectera automatiquement le mouvement / renommer si votre modification n'est pas trop sévère. Juste git add
le nouveau fichier, et git rm
l'ancien fichier. git status
montrera ensuite s'il a détecté le changement de nom. Si ce n'est pas vous avez besoin de suivre les conseils de Hank Gay et faire le déménagement et modifier dans deux commits distincts.
Si vous utilisez TortoiseGit il est important de noter que Git automatique de renommer la détection se produit au cours de commettre, mais le fait que cela va arriver n'est pas toujours affichées par le logiciel à l'avance. J'avais déménagé deux fichiers dans un répertoire différent et effectué quelques légères modifications. J'utilise TortoiseGit que mon commit outil et les Modifications apportées à la liste a montré que les fichiers sont supprimés et ajoutés, pas bougé. L'exécution de git status de la ligne de commande a montré une situation similaire. Cependant, après avoir commis les fichiers, ils ont montré une renommée dans le journal. Donc la réponse à votre question est que, aussi longtemps que vous n'avez rien fait de trop drastique, Git, doit reprendre les renommer automatiquement.
Edit: Apparemment, si vous ajoutez de nouveaux fichiers et ensuite faire un git status de la ligne de commande, le changement de nom doit apparaître avant de s'engager.
Edit 2: En outre, en TortoiseGit, ajouter les nouveaux fichiers dans la boîte de dialogue de livraison, mais ne pas les commettre. Alors si vous passez dans le Journal de commandement et de regarder le répertoire de travail, vous verrez si Git a détecté le renommer avant de s'engager.
La même question a été posée ici: https://code.google.com/p/tortoisegit/issues/detail?id=1389 et a été enregistré comme un bug à corriger ici: https://code.google.com/p/tortoisegit/issues/detail?id=1440 Il s'avère que c'est un problème d'affichage avec TortoiseGit de la boîte de dialogue de livraison et aussi le type de existe dans git status si vous n'avez pas ajouté les nouveaux fichiers.