Welchen Befehl oder welche Befehle muss ich verwenden, um diesen Spiegelklon mit allen Änderungen von seinem entfernten Ursprung auf dem neuesten Stand zu halten?
Ich möchte alles auf dem neuesten Stand halten: Commits, Refs, Hooks, Branches usw.
Danke!
Dies ist der Befehl, den Sie auf dem Spiegel ausführen müssen:
git remote update
@Magnus Skog: Großartig. Danke! Ist das alles? Brauche ich einen anderen Befehl, wie z git fetch? Oder git remote update allein wird es alles tun?
– J. Bruni
27. Mai 2011 um 11:40 Uhr
Ich würde auch gerne wissen, was der Unterschied zu git fetch ist.
– Thorbjørn Ravn Andersen
27. Mai 2011 um 11:51 Uhr
@Thorbjörn (Sie müssen mit einem schwedischen ö zu tun haben :)): Git fetch aktualisiert nur Ihr Repository mit Remote-Referenzen von der Fernbedienung. Dieser Befehl wird aktualisiert alles auf dem gespiegelten Repository.
– ralphtheninja
27. Mai 2011 um 12:25 Uhr
Hier ist eine gute Antwort, die mehr erklärt: stackoverflow.com/questions/3959924/…
– ralphtheninja
27. Mai 2011 um 12:27 Uhr
‘git remote update –prune’ wird all dies tun, aber Zweige entfernen, wenn sie aus dem ursprünglichen Repository entfernt werden.
– teeks99
19. September 2014 um 15:06 Uhr
J. Bruni
Bezüglich Commits, Refs, Branches und “und so weiter“, Magnus Antwort funktioniert einfach (git remote update).
Aber leider gibt es keine Möglichkeit dazu clone / Spiegel / updatedie Hakenwie ich wollte …
Ich habe diesen sehr interessanten Thread zum Klonen/Spiegeln der Hooks gefunden:
Die Hooks werden nicht als Teil des Repository-Inhalts betrachtet.
Es gibt mehr Daten, wie die .git/description Ordner, der nicht geklont wird, ebenso wie die Hooks.
Die Standard-Hooks, die in der hooks dir kommt von der TEMPLATE_DIR
Es gibt dieses interessante template Funktion auf git.
Also kann ich dieses “Clone-the-Hooks-Ding” entweder ignorieren oder mich für eine entscheiden rsync Strategie, angesichts der Zwecke meines Spiegels (Backup + Quelle nur für andere Klone).
Nun … Ich werde das Klonen von Hooks einfach vergessen und mich an die halten git remote update Weg.
Sehe hat gerade darauf hingewiesen, dass nicht nur “Hooks” von der nicht verwaltet werden clone / update process, aber auch stashes, rerere, etc… Also, für ein striktes Backup, rsync oder gleichwertig wäre wirklich der richtige Weg. Da dies in meinem Fall nicht wirklich notwendig ist (ich kann es mir leisten, keine Haken, Stashes usw. zu haben), bleibe ich wie gesagt bei der remote update.
Danke! Etwas von meinem eigenen “Git-Fu” verbessert… 🙂
sehen
Siehe hier: Git klont bei nachfolgenden Klonen nicht alle Branches?
Wenn Sie dies wirklich wollen, ziehen Sie stattdessen Zweige push --mirrorhier kannst du nachschauen:
“fetch –all” in einem Git-Bare-Repository synchronisiert lokale Branches nicht mit den entfernten
Diese Antwort enthält detaillierte Schritte, wie Sie dies relativ einfach erreichen können:
push ist keine Option für mich, weil ich es auf der Empfängerseite tun muss (von wo aus der Klon stammt); pull ist auch keine Option, da ein Spiegel-Repository ein reines Repository ist (kein funktionierender Baum, also kein “Pull”) – so scheint es git remote update macht in der Tat alles (viel einfacher als die referenzierte Antwort) … Wie auch immer, danke! Sicherlich gibt es wertvolle Informationen in den verlinkten Fragen/Antworten.
– J. Bruni
27. Mai 2011 um 12:19 Uhr
ok, ich meinte ziehen wie im üblichen Sprachgebrauch. Push-and-Pull-Technologie. Es gibt kaum ein anderes Wort außer dem unsinnigen “die Daten von einer entfernten Stelle aktiv beim Client abrufen”, das nicht ein Wort überspielen würde, das für Git- oder DVCS-Systeme eine Bedeutung hat 🙂 Der zweite Link liefert die gewünschten Details. Beachten Sie, dass ‘git remote update’ dies tut nicht tatsächlich behalten Sie den ‘Spiegel’-Status ohne die dort erwähnten zusätzlichen Operationen bei
– sehen
27. Mai 2011 um 12:26 Uhr
hmm … Entschuldigung (HTH) – es scheint, dass ein “absoluter” Spiegel leichter durch ein einfaches “rsync” des ursprünglichen Repo-Ordners zu erreichen ist … nicht das, was ich wollte, aber … ich habe nur einige Tests durchgeführt … und nichts scheint die Haken zu kopieren – was mich besonders interessiert …
– J. Bruni
27. Mai 2011 um 12:33 Uhr
FYI, die Zwecke dieses Spiegels sind nur diese: 1) vollständiges Backup, von wo ich wiederherstellen kann, wenn die Daten auf dem ursprünglichen Repo-Server verloren gehen; 2) irgendwo, wo andere klonen und ein lokales funktionierendes Repo erhalten können, ohne Zugriff auf das ursprüngliche Quell-Repo zu haben
– J. Bruni
27. Mai 2011 um 12:36 Uhr
Wenn Sie Hooks und alles wollen, könnte Gitosis (ich erinnere mich nicht gut) das haben, was Sie brauchen, aber ich würde mitmachen rsync In diesem Fall. Außerdem nehme ich an, dass Sie Verstecke vergessen (siehe Hier) und rerere Informationen auch …?
– sehen
27. Mai 2011 um 13:01 Uhr
10026100cookie-checkWie aktualisiere ich einen Git-Klon –mirror?yes