2017-03-03 9 views
2

Ich habe ein Zweig genannt ChartFeature aber ich tippte versehentlich git checkout CHartFeature und endete mit dieser in Powershell/poshgit up:Unbekannt git Zweig ausgecheckt

C:\git\Charting [CHartFeature]> git status 
On branch CHartFeature 
nothing to commit, working tree clean 

Was ist hier passiert? Wenn ich in SourceTree schaue, wird die Verzweigung nicht angezeigt, aber ich kann (und habe selbst in Schwierigkeiten geraten), als ich Dateien an diese Verzweigung übergeben habe, die ich nie erstellt habe. (Ich schrieb nie git checkout -b CHartFeature aber ich brauchte es in ChartFeature zu verschmelzen.)

Wenn ich die Ortsvereine diese falsche Zweig Liste existiert nicht:

C:\git\Charting [CHartFeature]> git branch 
    ChartFeature 
    develop 
    master 

Was tut git, wenn ich git checkout CHartFeature geben, ohne diesen Zweig erstellt? Was ist mit den Commits passiert, die ich dort gemacht habe?

Was ist, ist es sicher, git branch -d CHartFeature zu schreiben? Was würde passieren, wenn ich es tun würde?

+0

verwenden Sie Fenster? – LeGEC

+0

Das sieht so aus, als hätte jemand diesen Zweig vor einiger Zeit erschaffen und ihn zufällig gepusht. – ckruczek

+0

Wenn Sie unter Windows arbeiten und bei Dateinamen normalerweise nicht zwischen Groß- und Kleinschreibung unterscheiden, können Sie eine beliebige Fallkombination des Zweiges auschecken, die sich jedoch in der korrekt benannten Verzweigung befindet. Ich habe gerade 'MAster' ausgecheckt, eine Änderung vorgenommen und das Protokoll überprüft, es sieht OK aus, dann habe ich 'Master' ausgecheckt, das Protokoll überprüft und mein Commit ist vorhanden. Ich gehe davon aus, dass 'git checkout X' nur prüft, ob es eine Datei gibt, die unter dem refs-Ordner mit diesem Namen geöffnet werden kann, und unter Windows, selbst wenn der tatsächliche Dateiname' x' ist. –

Antwort

0

Scheint dieses Problem wegen Groß-/Kleinschreibung in Windows.

Versuchen Sie, ./.git/refs/heads/CHartFeature manuell in ChartFeature umzubenennen. Oder irgendeine CHartFeature präsentiert in .git Ordner.

+0

Die empfohlene Methode zum Umbenennen einer Verzweigung ist die Verwendung von 'git branch -m', nicht durch manuelles Fixieren von Dateien innerhalb des' .git'-Ordners. –

+1

@ LasseV.Karlsen in der Theorie 'git branch -m' sollte nicht funktionieren, da ein Zweig mit einem anderen Namen nie erstellt wurde. Das OP hat "git checkout" ohne die Option "-b" benutzt. –

+0

Manuelles Umbenennen ist etwas schwierig, da Sie auch die Datei * reflog * ('.git/logs/refs/heads/CHartFeature') umbenennen sollten. @kopranb: Das '-b' wird automatisch angenommen, wenn es einen (und nur einen) passenden' Herkunft/* 'Remote-Tracking-Zweig gibt. In diesem Fall gab es. – torek

0

überprüfen, welche Zweige auf dem Repo vorhanden:

git branch 
git branch -r # view remote branches 

Wenn CHartFeature existiert, aber ChartFeature nicht, versuchen Sie Ihren aktuellen Zweig Umbenennung:

git branch -m ChartFeature 
+0

@MattW: unter den folgenden Zweigen: 'ChartFeature',' CHartfeature', 'Herkunft/ChartFeature',' Herkunft/CHartFeature', welche sehen Sie? – LeGEC

+0

Siehe Kommentare zu OP –

Verwandte Themen