2013-08-01 4 views
20

Ich habe ein Git-Repository. Es hat A B C D E ... verpflichtet. Jetzt möchte ich D als eine neue Filiale namens Dbranch auschecken. Also ich excute: git checkout D -b Dbranch. Und jetzt möchte ich diesen Zweig löschen. Zuerst muss ich zum Master-Zweig wechseln und dann verwenden, um es zu löschen. Aber wenn ich git checkout master ausspreche, gibt es mir den Fehler.git checkout master error: die folgenden nicht verfolgten funktionierenden Baumdateien würden beim Checkout überschrieben werden

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 

So löschen Sie den Dbranch?

Antwort

0

a tun:

git branch 

wenn git show Sie so etwas wie:

* (no branch) 
master 
Dbranch 

Sie haben eine "freistehende HEAD". Wenn Sie einige Dateien auf diesem Zweig ändern müssen Sie verpflichten sie, dann wieder mit

git checkout master 

zu meistern Jetzt sollten Sie in der Lage sein, die Dbranch zu löschen.

57

Versuchen Sie git checkout -f master.

-f oder --force

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

When switching branches, proceed even if the index or the working tree differs from HEAD. This is used to throw away local changes.

When checking out paths from the index, do not fail upon unmerged entries; instead, unmerged entries are ignored.

+1

Ahh mir das Leben gerettet! Ich war so nervös zu sehen, dass alle meine bestehenden Dateien nach dem Wechsel der Filiale entfernt wurden. Nach dem Checkout habe ich alle meine Sachen zurückbekommen. – itsazzad

+0

Ich hatte ein Problem, wo ich den "untracked working tree files" -Fehler bekam, aber 'git status -u' zeigte nichts an ... Ich hatte keine Ahnung, wie ich diese mysteriöse, nicht verfolgte Datei löschen konnte, aber dieser Befehl half mir, das zu umgehen zur Zeit – JLewkovich