web-dev-qa-db-fra.com

erreur git checkout master: les fichiers d'arborescence de travail non suivis suivants seraient remplacés par checkout

J'ai un dépôt git. Il a A B C D E ... s'engage. Maintenant, je veux commander D comme une nouvelle branche nommée Dbranch. J'excuse donc: git checkout D -b Dbranch. Et maintenant, je veux supprimer cette branche. Tout d'abord, je dois passer à la branche principale, puis utiliser git branch -d Dbranch pour le supprimer. Mais quand j'excute git checkout master, cela me donne l'erreur.

error: The following untracked working tree files would be overwritten by checkout:
    source/a/foo.c
        ...... (too many lines)
Please move or remove them before you can switch branches.
Aborting

Comment supprimer le Dbranch?

31
Fei Xue

Essayez git checkout -f master.

-f ou --force

Source: https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html

Lorsque vous changez de branche, procédez même si l'index ou l'arborescence de travail diffère de HEAD. Ceci est utilisé pour supprimer les modifications locales.

Lors de la vérification des chemins à partir de l'index, n'échouez pas lors des entrées non fusionnées; au lieu de cela, les entrées non fusionnées sont ignorées.

87
dekdev

fait une :

git branch

si git vous montre quelque chose comme:

* (no branch)
master
Dbranch

Vous avez une "TÊTE détachée". Si vous avez modifié certains fichiers sur cette branche vous, validez-les, puis revenez au master avec

git checkout master 

Vous devriez maintenant pouvoir supprimer le Dbranch.

0
Mali