Wie halte ich ein Git-Repository immer lokal auf dem neuesten Stand?

0

Ich verwalte meine Git-Repositorys mit Git Tower unter OS X und suche nach einer Antwort, mit der ich diese Software oder einfach die Git-Cli verwenden kann.

Ich habe einige Git-Repositorys (private GitHub-Repositorys) lokal geklont. Ich arbeite nie daran, aber ich muss sie immer aktualisieren, da ich die in diesen Repositorys enthaltene Software ausführe (oder ich verwende einen Teil dieser Repositorys als Abhängigkeiten eines anderen Repositorys, Nr Submodul, sorry).

Daher suche ich nach einer Möglichkeit, diese Repositorys immer auf dem neuesten Stand zu halten. Wie kann ich?

Fez Vrasta
quelle
Klingt so, als würden Sie einen Build-Server erstellen ?
Arjan
Nein, wir haben bereits ein CI, das Jenkins verwendet. Dies ist nur für meinen lokalen Workflow bestimmt
Fez Vrasta,

Antworten:

0

Der Hauptzweck von Git besteht nicht darin, Ihre Software zu verteilen, aber Sie können sie immer ausführen, git pullbevor Sie Ihren Code neu laden .

Cellgalvano
quelle
Ja, das ist das Problem, ich möchte nur, dass sie immer aktualisiert werden, ohne dass ich mich daran erinnern muss.
Fez Vrasta
@FezVrasta Müssen Sie Ihre Software nach der Umfrage neu starten? Wenn Sie dies tun, können Sie einfach ein Skript schreiben.
Cellgalvano
Es könnte für eines der Repositories funktionieren, aber das andere muss nur aktualisiert werden und nicht mehr. Oder besser, es muss aktualisiert werden und dann muss ich ein zusätzliches Skript ausführen, um diese Dateien in einen anderen Ordner zu kopieren (ich weiß, dass es scheiße ist) ... Also müsste ich es wahrscheinlich immer auf dem neuesten Stand halten und einen Git-Hook nach dem ausführen Git ziehen, aber der Haken ist einfach zu tun.
Fez Vrasta,
Sie könnten das Update immer nach einem bestimmten Ereignis ausführen (abhängig von Ihrer Software), wenn es sich um ein Remote-Update handelt, und dann GitHubs WebHooks als Auslöser oder als Problemumgehung einen Cronjob verwenden.
Cellgalvano
Ich denke, der Cronjob ist der einzige Weg: / Wenn es einen git-spezifischen Weg gäbe, hätte ich es vorgezogen,
wenn
0

Es hört sich so an, als ob Sie möglicherweise eine Kombination von Werkzeugen benötigen.

Zunächst müssen Sie einen Überblick über die zu aktualisierenden Repositorys haben und diese auf einen Schlag aktualisieren. myrepos ist eine gute Option, um dabei zu helfen.

Anschließend müssen Sie den Befehl update regelmäßig ausführen. Dies kann auf verschiedene Arten erfolgen. Es gibt einige gute Hinweise in anderen Kommentaren:, croneine Art Startagent, etc.

Es fällt mir jedoch auf, dass, wenn die Repos automatisch im Hintergrund aktualisiert werden (ohne Benutzerinitiierung / -intervention), Sie möchten, dass ein Bericht / ein Protokoll / eine E-Mail erstellt wird, wenn die Repos aktualisiert werden, falls etwas ausfällt oder etwas anderes unerwartete Bedingungen auftreten.

Es sollte auch beachtet werden, dass das blinde Aktualisieren von Repos und das anschließende Kopieren / Verpacken des aktualisierten Codes zur Verwendung an anderer Stelle ein gewisses Risiko darstellt. Meiner Meinung nach riecht dieses Problem nach einem geeigneten Abhängigkeitsmanagement-Tool oder Paket-Manager.

wrksprfct
quelle