fatal: remote-Teil der refspec ist kein Gültiger name .git/refs/heads/master:.git/refs/remotes/origin/master
Weiß ich, dass es einfacher wäre, die Nutzung git push origin master
, aber wenn ich das Tue:
git push origin .git/refs/heads/master:.git/refs/remotes/origin/master
Bekomme ich:
fatal: remote-Teil der refspec ist kein Gültiger name .git/refs/heads/master:.git/refs/remotes/origin/master
Warum funktioniert das nicht?
Ich versuche nur zu Folgen:
git push [remotename] [localbranch]:[remotebranch]
InformationsquelleAutor Terry | 2011-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Refspecs nicht relative Pfadnamen, "absolute" refspecs starten Sie einfach mit
refs/
. Die meisten "absoluten" version von dem, was Sie versuchen, zu schieben wäre:Dies ist jedoch nicht entspricht
git push origin master
. Was dies bedeutet ist updates auf der Fernbedienung die remote-tracking-branchorigin/master
so dass es möglicherweise oder möglicherweise nicht reflektieren, was seine remoteorigin
ist eigentlich bei.Den Gegenwert von git push origin master wäre:
refs/heads/master ist anders von meinem lokalen branch master? refs/remotes/origin/master ist anders als meine remote-branch master auf github? Warum verwenden Sie refs/heads/master anstelle der refs/remotes/origin/master?
Ich bin mir nicht sicher, ich verstehe die ersten drei Fragen.
refs/heads/master
ist der name des lokalen master-branch auf einem repository. Wenn Sie das tungit push origin master
aktualisieren Sie den entfernten master-branch entsprechen Ihren lokalen master-branch. Die linke Seite des Dickdarms, die in einer push-bezieht sich auf den ref zu schieben, die auf Ihrem lokalen repository auf der rechten Seite der Doppelpunkt bezieht sich auf das ref-push auf das remote-repository. Sie (fast) nie wollen, drücken Sie die ein remote-tracking-branch aus einem entfernten repository. Sie sind nur die remote-Kopie von remote-Niederlassungen.Was habe ich in refs/remotes/origin/master, ist in der Tat in meiner lokalen Maschine? Ich meine, refs/remotes/origin/master wird mit git diff? Also, es ist eine Kopie der remote-branch, aber das ist nicht das eigentliche remote-branch.
Jedes repository, das wurde über
git clone
haben eine Reihe von remote-tracking branches unterrefs/remotes/origin
so ein ref bezeichnetrefs/remotes/origin/master
ist wahrscheinlich zu existieren sowohl auf Ihrem lokalen und remote-repositories. Wenn Sie eine fetch-standardmäßig werden alle Zweige auf der Fernbedienung (refs/heads/*
) kopiert werden, um das lokale repository unter (refs/remotes/origin/*
) als remote-tracking-branches, so dass Sie durchführen können git-Operationen (z.B. Stellungswechsel, merge, log, etc.) auf dem remote-Niederlassungen.InformationsquelleAutor CB Bailey