2010-12-17 7 views
46

Ich möchte eigentlich eine Verzweigung in dem blanken Repository, mit dem ich arbeite, entfernen, aber diese Aufgabe trifft eine Sackgasse, weil ich nicht vom Master-Repository ohne einen 'Arbeitsbaum' abschalten kann bloßes Repository hat nicht.Wechseln Sie den aktuellen Zweig in git bare repository

Wenn ich git branch -d master der Ausgang laufen ist:

error: Cannot delete the branch 'master' which you are currently on. 

Also versuche ich zu einem anderen Zweig zu wechseln 'entwickeln' genannt durch git checkout develop läuft und der Ausgang ist:

fatal: This operation must be run in a work tree 
+1

Das sieht aus wie ein Duplikat von http://StackOverflow.com/q/3301956/4918, ist aber genau mein Anwendungsfall und viel besser zu lesen. Also ich +1 hier und nicht kennzeichnen, nur verknüpfen. –

Antwort

67

Try this statt git checkout:

git symbolic-ref HEAD refs/heads/develop 

Dann sollten Sie in der Lage sein Master löschen

+0

'git clone --bare' erstellt kein' refs/heads/master'. Kurz vor der manuellen Bearbeitung von 'HEAD', wie kann ich den symbolischen Verweis für' HEAD' zurück auf 'Master' schalten, wenn kein solcher Kopf existiert? –

+0

@dimadima Der gleiche Weg. Wenn Sie in "packed-refs" suchen, sollten Sie sehen, dass es eine Definition für 'refs/heads/master' enthält. – cdhowie

+0

Danke @cdhowie –