Unser zentraler Git-Server ist im Moment nicht erreichbar, und meine Arbeitskopie ist veraltet, ich arbeite heute von zu Hause aus, und ich ' Ich versuche zu sehen, ob es einen Weg gibt, wie ich einen Kollegen, der die neueste Geschichte hat, dazu bringen kann, mir gleichwertige Daten an eine git pull origin master
zu schicken.Um einen nicht reagierenden Git-Server zu arbeiten (kann git pull origin nicht machen) mit Patches
Um das Argument zu nennen, nennen wir den letzten Commit, den ich in meiner Arbeitskopie des master
Zweigs abcd1234
habe. Die Arbeitskopie meines Kollegen ist mit dem Server auf dem neuesten Stand, und das letzte Commit in seiner Arbeitskopie des Master-Zweigs lautet ef123456
.
Wie kann er mir einen Datensatz mailen, der den Verlauf von abcd1234
bis ef123456
abbildet, und wie kann ich ihn auf meine Arbeitskopie anwenden? (Und ist dies gleichbedeutend mit einem Pull vom Server? Oder würde ich mich in heikeles Gebiet bekommen?)
Ich versuchte, bei git-format-patch suchen, aber es scheint keine Beispiele für diese Art zu haben, und ich bin paranoid, um die Syntax richtig zu machen - wenn ich nicht sehr zuversichtlich bin, dass ich weiß, was ich mache, dann warte ich darauf, dass der Server wieder hochfährt, was ein paar Tage dauern könnte.
Hmm. Another stackoverflow issue erwähnt, dass git-bundle geeigneter ist. Aber ich bin mir immer noch nicht sicher, wie ich die Geschichte eines Zweiges von einem Rev-Hash zum anderen erfassen kann.
Der Nachteil von 'git format-patch' ist, dass Sie verschiedene SHAs bekommen. Keine große Sache, wenn Sie sowieso immer rebase. – o11c
Wenn Sie ein echtes VLAN haben, ist es einfach, ein Git-Verzeichnis über ssh zu klonen. – o11c