2010-09-23 6 views
24

ich diesen Fehler, wenn zu schaffen versuchen, haben eine Remote-Tracking-ZweigGit: fatal: mehrdeutige Objektname: ‚Herkunft/release_2.6‘

git co -b release_2.6 origin/release_2.6 
warning: refname 'origin/release_2.6' is ambiguous. 
warning: refname 'origin/release_2.6' is ambiguous. 
fatal: Ambiguous object name: 'origin/release_2.6'. 

ich nur diese beiden Refs mit release_2.6 definiert

git show-ref | grep "release_2.6" 
a71b2da1526f73862464a23aceaa1939a8b1ace2 refs/heads/origin/release_2.6 
ed1399936a8cc4cd2feed1851123af861b0ff093 refs/remotes/origin/release_2.6 

Weiß jemand, was dieser Fehler bedeutet?

Prost

Antwort

48

Wenn etwas beide dann in refs/heads/ und refs/remotes/ gefunden werden kann dies ist nicht eindeutig. Sie haben eine lokale Niederlassung origin/release_2.6 und Remote-Tracking-Zweig release_2.6 für remote origin. Denken Sie nicht, dass Sie einen refs/heads/origin/release_2.6 Zweig haben sollten. Wie auch immer, können Sie die vollständigen Referenznamen angeben Mehrdeutigkeit aufzulösen:

git co -b release_2.6 refs/remotes/origin/release_2.6 
+0

Der vollständige Ref-Suchpfad wird beschrieben in [* git-rev-parse (1) * im Abschnitt "Angeben Revisionen "] (http://www.kernel.org/pub/software/scm/git/docs/git-rev-parse.html#_specifying_revisions), unter dem Aufzählungszeichen" A symbolic ref name ". ... ". –

+2

Ja, ich glaube, ich habe versehentlich den Zweig origin/release_2.6 hinzugefügt, aber nicht in der Liste. Ich habe diesen lokalen Zweig gelöscht und dann hat alles funktioniert. Vielen Dank! – stellard

+2

Hatte das gleiche Problem beim Versuch, 'git branch --set-upstream-to = ...' zu machen. Hinzufügen von 'refs/remotes/origin' statt einfach' origin/'hat funktioniert :). –

3

Ich hatte einen ähnlichen Fehler, wenn ich eine SVN-Repository mit git-svn geklont, aber ich hatte keinen „Ursprung“ in jedem Pfad. Ich endete mit den folgenden Referenzen:

0e4b5116f69200ea0d7a2ff9f0fa15630d02b153 refs/heads/development 
0ef5969f7ee44b16817053bfe146c499be5f77b7 refs/remotes/development 

und ich konnte nicht verzweigen; Wenn ich es versuchte, würde ich den Fehler "mehrdeutiger Objektname" erhalten. Mein Fehler war, dass, wenn ich den ursprünglichen Git Svn Klon gemacht habe, ich kein --prefix angegeben habe; die richtige Form war

git svn clone --prefix origin/ --stdlayout xxxx 

und dann landete ich mit refs/remotes/origin/Entwicklung up usw. und es gab Verzweigung kein Problem. Entsprechend der Manpage müssen Sie den Schrägstrich auf dem Präfix haben.

Liam

4

Ich hatte ähnliche Fehler, wenn ich einen Remote-Zweig mit git-svn erstellt. Ich hatte die entfernte Niederlassung und die lokale Niederlassung mit demselben Namen. Sie können die lokale Verzweigung mit

umbenennen Dies wird nur den lokalen Zweig umbenennen, ohne die Remote-Zweigstelle zu ändern.

Shravan

0

Für mich war es nur ein dummer Fehler. Ich habe versehentlich einen Zweig namens Remote erstellt, wie in diesem Fall hatte ich einen lokalen Zweig wie origin/release_2.6 :)