Ich versuche, einen neuen lokalen Zweig product-0.2
an Remote zu senden, wo bereits ein Tag mit demselben Namen vorhanden ist (der Zweig selbst existiert jedoch nicht).
git push -v --tags --set-upstream origin product-0.2:product-0.2
Pushing to https://****@github.com/mycompany/product.git
error: src refspec product-0.2 matches more than one.
error: failed to push some refs to 'https://****@github.com/mycompany/product.git'
Das gleiche mit:
git push origin product-0.2:/refs/heads/product-0.2
Obwohl es umgekehrt funktioniert, z. B. einen Zweig erstellen, einen product-0.1
Commit ausführen und dann ein Tag anwenden product-0.1
.
Einige Leute umgehen dies, indem sie das widersprüchliche Tag lokal entfernen, dann den Zweig verschieben und dann das Remote-Tag abrufen. Dies scheint jedoch umständlich und fehleranfällig zu sein.
Wie kann ich meine Filiale mit minimalem Aufwand erstellen?
Danke für deinen Beitrag
git
git-branch
youri
quelle
quelle
refs/heads/product-0.2:refs/heads/product-0.2
, dh ohne den führenden Schrägstrich, und geben Sie auch die vollständige Referenz auf der lokalen Seite an.Antworten:
Der folgende Befehl sollte funktionieren.
quelle
refs/remotes/remote_name/remote_branch
master
und konnte nicht mehr auf den gleichnamigen Zweig pushen.git push origin refs/heads/master
habe den Trick gemacht (dann habe ich das Tag gelöscht, damit es nicht mehr passiert).Überprüfen Sie, welche Tags Ihrem Zweig zugeordnet sind:
In meinem Fall hatte ich ein Tag mit dem gleichen Namen der Niederlassung. Das Löschen hat funktioniert:
quelle
Ändern Sie die Namen.
Ob Sie es lokal oder remote tun, ändern Sie einfach die Namen.
Ein Tag und ein Zweig sind in git grundsätzlich dasselbe: Sie repräsentieren einen Zeiger auf ein Commit. Der Unterschied besteht darin, dass ein Verzweigungszeiger beim Festschreiben fortschreitet, während ein Tag statisch bleibt.
Allerdings können Sie eine ausführen
git checkout
entweder auf einem Zweig oder einen Tag. Warum würdest du mit all diesen doppelten Namen kämpfen? Ändere sie.quelle
product-0.2.0
mit der letzten Ziffer für das 'Patch-Level' aufgerufen werden können , hatten wir dennoch die Namenskonvention und hatten in der Vergangenheit keine Probleme, als der Zweig vor dem Tag erstellt wurde.Wenn Sie versuchen, ein Tag mit demselben Namen wie ein Zweig zu pushen :
quelle
Ich habe heute Morgen versucht, in ein kanonisches Repository zu wechseln, und habe die folgende Fehlermeldung erhalten:
Dies geschah, weil ich versehentlich lokal ein Master-Tag erstellt hatte:
Sobald ich dieses Tag lokal gelöscht habe:
Ich konnte wieder pushen.
quelle
Dies schlug fehl:
Während das für mich funktionierte:
quelle
Wenn Sie den Quellbaum verwenden, führen Sie die folgenden Schritte aus.
Versuchen Sie erneut, Ihre Änderungen zu übernehmen. jetzt wird das funktionieren.
quelle