Lokale Git Ordner in einem Rutsch auf den neuesten Stand bringen

  • Moinsen,


    da ich immer genervt bin wenn ich etwas mehr als einmal durchführen muss habe ich mir überlegt, wie man am mac oder hack alle lokalen Git Ordner aktualisieren kann.


    Da ich aktuell auf macOS Monterey bin, bezieht sich diese Anleitung nur auf dieses System. Es funktioniert natürlich auch unter allen anderen macOS Versionen welche zsh nutzen.

    Bash sollte ebenso funktionieren, bei entsprechender Anpassung der .bashrc.


    Zuerst sollte man einen Platz für alle Gits haben:


    dazu gibt man im terminal folgendes ein, bitte beachtet vorab in den Ordner zu wechseln wo ihr den Ordner anlegen wollt:

    Code
    1. mkdir git

    nun mit:

    Code
    1. cd git

    ins Verzeichnis wechseln.


    Nun laden wir uns die entsprechenden Repos, wie das geht findet man im netz, ein kleines beispiel:

    Code
    1. git clone https://github.com/acidanthera/OpenCorePkg.git

    womit dann ein entsprechendes git Verzeichnis lokal abgelegt wird.


    in meinem Fall befinden sich bereits einige gits im lokalen Pfad:

    in der theorie, müsste man nun in jedes Verzeichnis wechseln und dort ein:

    Code
    1. git pull origin master

    ausführen.

    Da ich einfach zu lazy bin dies ständig zu wiederholen, nutze ich folgenden Code um mir einen alias im terminal zu erstellen:


    Code
    1. alias gitpull='find . -type d -depth 1 -exec git --git-dir={}/.git --work-tree=$PWD/{} pull origin master \;'

    in der .zshrc schaut das bei mir (ich habe da eine eigene Ordnung drin, wie ihr das im Endeffekt in der Einstellungsdatei sortiert überlasse ich euch ;) ) so aus:


    Mit

    Code
    1. source ~/.zshrc

    laden wir den alias.


    wenn wir nun in das Verzeichnis wechseln, wo unsere Gits liegen (mit cd <Pfad/zum/gitdir>), und

    Code
    1. gitpull

    im Terminal ausführen, lädt euch git alle updates der repos herunter, was dann (leider hatte ich das schon durchgeführt) so ausschaut:

  • griven

    Hat das Thema freigeschaltet