web-dev-qa-db-fra.com

Eclipse/Git - Echec du tirage d'un arbre de travail sale

Comme le titre l'indique, j'essaie d'extraire d'un référentiel git que je partage avec mon ami et je peux commettre. Il peut s'engager, mais chaque fois que l'un de nous essaye de le récupérer, il rappelle que cela a échoué: DIRTY_WORKTREE

Nous sommes tous les deux extrêmement novices, et nous ne savons absolument pas comment résoudre ce problème.

31
Ariana

J'ai pu résoudre un problème similaire en utilisant le client en ligne de commande git. Alors qu'Eclipse (egit) ne faisait que dire DIRTY_WORKTREE, j'ai vu plusieurs fichiers en conflit dans la ligne de commande. En utilisant git merge master à partir de la ligne de commande, je pourrais facilement résoudre les conflits puis dans Eclipse . Donc, pour moi, cela semble être un problème grave.

14
Clerenz

Une autre approche, si aucun travail n'est en cours, consiste à essayer de réinitialiser votre disque dur.

Avec EGit: Réinitialisation de votre HEAD actuel :

Sélectionnez Team -> Reset... sur un projet. Cela ouvre une boîte de dialogue dans laquelle vous pouvez sélectionner une branche ou une étiquette.

Réinitialisez HEAD sur votre branche actuelle, afin de réinitialiser l’index et de travail sur le dernier commit de ladite branche.

Ensuite, essayez votre traction.

11
VonC

J'ai eu des modifications non validées. Après que je les ai commis, puis fusionnés, le problème de l'arbre de travail sale a disparu.

8
ununiform

Cela semble signifier que la version dans laquelle vous vous trouvez comporte des modifications qui ne sont pas encore validées. Vous devez donc supprimer ces modifications ou les valider. Notez que si vous les commettez, vous pourriez avoir des conflits de fusion.

1
noname

Supprimez simplement le fichier .gitignore présent dans le dossier du projet, puis fusionnez . La fusion affichera les conflits que vous devez résoudre, puis Transmettre les modifications.

1
abagri

Dans Eclipse, je suis allé dans Team Synchronizing View et à partir de là, j'ai cliqué avec le bouton droit de la souris sur mon projet, puis sur "écraser" pour écraser toutes les modifications locales. Puis réessayez votre fusion.

0
osoblanco

Dans mon cas, le DIRTY_WORKTREE a été causé par cette séquence:

  1. Dans un commit, j'ai aussi validé des fichiers que j'aurais dû ignorer
  2. Dans la prochaine validation, je modifié le .gitignore qui ignore les fichiers ci-dessus
  3. Essayez de rebase sur une autre branche où ma modification de .gitignore est manquante 

Dans ce scénario, Eclipse pense que votre arbre de travail est sale. En effet, ce n'est pas évident comparer deux ensembles de fichiers lorsque l’un ignore l’un des deux et que l’autre ne le fait pas.

Pour résoudre le problème dans Eclipse, j’ai fait ce qui suit:

  • Modifiez le .gitignore de sorte qu'il soit identique à celui de la branche sur laquelle je souhaite me baser.
  • Commencez heureusement le rebasement ou le rebasement avec la fusion.
0
psuzzi

Si vous souhaitez remplacer votre branche locale par la branche d'origine.

Allez dans la vue Repo Git> cliquez sur Maître d'origine> Choisissez réinitialiser -> il affichera l'actuel HEAD et réinitialisera la branche . Choisissez la réinitialisation HARD si vous voulez écraser complètement vos modifications locales.

0
LadyQ

J'ai eu un problème similaire sur Eclipse avec des modifications non validées comme non uniformes… .. Après un commité, je pouvais fusionner et tout était comme avant… .. Regardez votre code source et vérifiez les modifications. Sinon, vous pouvez réinitialiser le disque dur.

0
Nicolas CHALAUX

Seulement pour ajouter un autre cas, j'ai DIRTY_WORKTREE, je suis le seul à m'être engagé dans mon projet Github, alors dans EGit, j'ai fait une branche Push ... avec "l'écrasement forcé d'une branche sur remote si elle existe et a divergé"

DANGER: Si d'autres travaillent sur le même projet, cette action supprimera leurs commits depuis la divergence.

0
Alejandro Silvestri

Si vous avez des modifications sans vous engager, Eclipse vous avertira si vous essayez de récupérer les modifications. Pour le résoudre, vous pouvez ignorer les modifications ou effectuer la validation de ces fichiers.

Source: https://www.Eclipse.org/forums/index.php?t=msg&th=890477&goto=1565668&#msg_1565668

0

Supprimez les fichiers concernés et réessayez. Par la suite, envoyez vos modifications au git. J'ai le même problème et cela a fonctionné pour moi.

0
vennapu