Ich habe derzeit ein Git-Remote-Setup wie das folgende:
[remote "upstream"]
url = <redacted>
fetch = +refs/heads/*:refs/remotes/upstream/*
Wenn ich git pull
auf dem Zweigmaster ausstelle , werden alle Remote-Köpfe in Fernbedienungen / Upstream abgerufen, dann werden Fernbedienungen / Upstream / Master in Master zusammengeführt. Alle Tags, die erreicht werden können, werden gleichzeitig abgerufen, was sehr praktisch ist.
Ich möchte git pull
zusätzlich alle Tags von der Fernbedienung abrufen, nicht nur diejenigen, die direkt von den Köpfen aus erreichbar sind. Ich habe ursprünglich versucht, die Einstellungen vorzunehmen tagopt == --tags
, aber festgestellt, dass nur Tags abgerufen wurden und somit alles kaputt ging. (Junio sagt sogar, dass das eine schreckliche Fehlkonfiguration ist ).
Gibt es eine Möglichkeit git pull
, zusätzlich zu den Remote-Köpfen standardmäßig alle Remote-Tags abzurufen?
git push origin <tag_name>
tagopt
Lösung ist keine Fehlkonfiguration mehr. Ab 1.9 / 2.0 (1. Quartal 2014) werden alle Tags zusätzlich zu den normalerweise abgerufenen Tags abgerufen.Antworten:
Sie sollten dies erreichen können, indem Sie Ihrer lokalen Konfiguration eine Referenz für Tags hinzufügen. Konkret:
quelle
Ein einfaches
git fetch --tags
hat für mich funktioniert.quelle
git ls-remote
.Die
--force
Option ist nützlich, um die lokalen Tags zu aktualisieren. Hauptsächlich wenn Sie schwebende Tags haben:Die Git Pull Option hat auch die
--force
Optionen und die Beschreibung ist dieselbe:aber nach dem Dokument von
--no-tags
:Wenn diese Standardanweisung keine Einschränkung darstellt, können Sie es auch versuchen
quelle
git pull --force
nicht enthaltengit fetch --tags --force
Für mich schien folgendes zu funktionieren.
quelle
git fetch --tags
. Ich wollte eine alternative Antwort geben. pull = fetch + merge. Also passiert auch holen.Es ist einfach. Mach a
quelle
Ich benutze dies mit magit auf kernel.org
quelle