branche principale a ces fichiers et dossiers (simplifié):git checkout branche distante montre des fichiers superflus?
C:\Local\TickZoom\Project>ls
file.txt name.txt public
branche publique est suivi d'un référentiel des fournisseurs et a été fusionné sous-arbre comme dossier public dans la branche principale ci-dessus. public a trois dossiers seulement (simplifié):
C:\Local\TickZoom\Project>ls
platform providers www
Lors du passage du public au maître il se comporte correctement. Toutefois, lors du passage de maître à public, une chose étrange se produit. Il a tous les fichiers et les dossiers des deux combinés:
C:\Local\TickZoom\Project>git checkout public
C:\Local\TickZoom\Project>ls
file.txt name.txt public
platform providers www
Cependant, vérification de l'état git dit rien n'a changé. J'ai découvert que 'git reset --hard' résout le problème du public. INDICATION: Il semble que cela ne se produise qu'après avoir effectué un nouveau commit à maîtriser. Est-ce que git fait une sorte de fusion automatique? Après 'git reset --hard', la vérification de masteriser et de retour au public fonctionne bien, même si de façon répétée.
Le premier, je pensais qu'il a été réparé mais il s'est produit à nouveau la la prochaine fois que j'ai fait un changement. Laissez-moi essayer encore une fois maintenant pour m'assurer ...
Maintenant, je ne peux pas le reproduire. Mais cela est arrivé deux fois.
Un autre CLUE est que la première fois que j'ai fait une réinitialisation git --hard il se plaignait de fichiers verrouillés par les processus. Une fois les programmes incriminés fermés, le git reset --hard a réussi et la vérification a fonctionné entre les deux branches.
Est-ce que la vérification est confuse lorsque les fichiers sont verrouillés et que échoue "silencieusement"? Il serait mieux, c'est le problème à échouer de la même manière git reset --hard fait que de simplement signaler succès et ayant un espace de travail brouillé.
Toute autre sagesse ou des options à régler sur git checkout pour éviter cela seront appréciées.
Wayne
Bon, maintenant trouvé le problème. Comment réparer? Le problème est qu'il existe des fichiers ignorés dans les sous-dossiers. git fait correctement le checkout mais laisse tous les fichiers ignorés et s'il y a plusieurs répertoires, il laisse toutes les directions pour les atteindre. J'ai essayé git clean -f et il laisse toujours les fichiers. Comment nettoyer les fichiers non-suivis lors de la commutation entre les branches? – Wayne