Ich wechselte zum Master, nachdem ich mich lange auf einem Ast entwickelt hatte. Das Protokoll zeigt:
Ihre Filiale liegt mit 167 Commits hinter 'origin / master' und kann schnell weitergeleitet werden.
Ich habe es versucht:
git checkout HEAD
Es hat keine Wirkung. Dies liegt daran, dass ich ein Zwischen-Commit für den Master ausgecheckt habe.
Wie kann man den Meister auf dem Kopf halten?
git checkout HEAD
macht nie etwas.HEAD
bedeutet bereits das ausgecheckte Commit.Antworten:
Tun:
ruft den
origin/master
Zweig ab und führt ihn zusammen (Sie können einfach sagen, dassgit pull
der Ursprung der Standard ist).quelle
Versuchen Sie es
git merge origin/master
. Wenn Sie sicher sein möchten, dass nur ein schneller Vorlauf ausgeführt wird, können Sie sagengit merge --ff-only origin/master
.quelle
merge
Befehls, damit ich mich nicht erneut authentifizieren muss.--ff-only
ist äußerst nützlich.origin/master
Teil erforderlich ist oder ob er vernünftigerweise standardmäßig verwendet wird, aber ich fand es nützlich, einen Alias für den schnellen Vorlauf zu erstellen. Deshalb wollte ich sicherstellen, dass der Upstream-Zweig verwendet wird, anstatt ihn fest zu codierenorigin/master
:ff = merge --ff-only @{u}
(@{u}
ist Upstream) .In Ihrer Situation
git rebase
würde auch der Trick tun. Da Sie keine Änderungen haben, die der Master nicht hat, spult git nur schnell vor. Wenn Sie mit einem Rebase-Workflow arbeiten, ist dies möglicherweise ratsamer, da Sie bei einem Durcheinander kein Merge-Commit erhalten würden.quelle
sollte den Job machen.
Sie erhalten jedes Mal die Meldung "Ihr Zweig ist im Rückstand", wenn Sie an einem anderen Zweig als dem Master arbeiten , jemand Änderungen am Master vornimmt und Sie ziehen.
Jetzt wird die Ursprungs- / Master-Referenz gezogen, aber Ihr Master wird nicht mit dieser zusammengeführt
Jetzt steht Master hinter Origin / Master und kann schnell weitergeleitet werden
Jetzt sind Ihr Master und Ihr Ursprung / Master synchron
quelle
Wenn Sie in einem anderen Zweig stehen und die neueste Version von Master auschecken möchten, können Sie dies auch tun
git checkout -B master origin/master
quelle
Für alle, die schnell vorspulen möchten, dass sie sich nicht in einem anderen Remote-Zweig befinden (einschließlich sich selbst), ohne diesen Zweig auszuchecken, können Sie Folgendes tun:
Dies spult den Index von
other
im Grunde schnell vor ,origin/master
wenn Sie sich nicht in einerother
Verzweigung befinden. Auf diese Weise können Sie mehrere Zweige schnell vorspulen.Wenn Sie einige Zeit an einem anderen Zweig gearbeitet haben und veraltete Zweige von Remote auf den jeweiligen Kopf aktualisieren möchten:
quelle
Es sind keine Komplexitäten erforderlich. Stellen Sie sich einfach in Ihre Filiale und machen Sie einen Git-Pull
Oder versuchen Sie als zweiten Versuch git pull origin master nur für den Fall, dass Sie mit dem ersten Befehl Pech haben
quelle
So starten Sie den aktuellen lokalen Tracker- Zweig neu, indem Sie lokale Änderungen auf den neuesten Remote-Status verschieben:
Allgemeiner gesagt, um die lokalen Änderungen vorzuspulen und zu löschen ( Hard-Reset ) *:
zu vorspulen und halten Sie die lokalen Änderungen ( Rebase ):
* -
git reflog
Um die durch einen unbeabsichtigten Hard-Reset verursachte Änderung rückgängig zu machen , suchen Sie zuerst den Hash, auf den der HEAD vor dem Reset-Vorgang zeigte (normalerweise offensichtlich), und setzen Sie den Zweig auf diesen Hash zurück.quelle
Führen Sie in Ihrem Fall zum Schnellvorlauf Folgendes aus:
Dies nutzt die
--ff-only
Option vongit merge
, da die Frage speziell nach "Schnellvorlauf" fragt.Hier ist ein Auszug davon
git-merge(1)
, der weitere Optionen für den schnellen Vorlauf zeigt:Ich spule oft genug vor, so dass ein Alias gerechtfertigt ist:
Jetzt kann ich dies zum schnellen Vorlauf ausführen:
quelle
Bewegen Sie Ihren Verzweigungszeiger auf den KOPF:
Ihr Zweig ist
master
bereits vorhanden, sodass Sie ihn mit git nicht überschreiben können, es sei denn, Sie verwenden ...-f
(dieses Argument steht für--force
)Oder Sie können rebase verwenden:
Mach es auf eigenes Risiko;)
quelle