Raspberry Pi und eigene Gitlab Instanz

  • Hallo zusammen,

    da hier ja auch einige Imformatiker unterwegs sind, mal was ganz anderes.

    Ich habe auf einem Raspberry Pi 4 GitLab installiert und die Repos auf ein MSATA USB Laufwerk verschoben (über gitlab.rb Config).

    Hat auch wunderbar funktioniert bis die Platte über Nacht den Geist aufgegeben hat und eben von mir getauscht wurde.

    Jetzt zur eigentlichen Frage:

    Ich habe von einigen der Repositories leider nur die ausgecheckten Dateien. In den Ordnern gibt es jeweils ein .git Verzeichnis mit

    etlichen Unterordnern (branches, hooks, info, ...). Gibt es eine Möglichkeit daraus das Original Repository zu rekonstruieren?

  • Naja, technisch gesehen hast du ja ein Repository bei dir vorliegen. Du meinst mit „Original-Repository“ wahrscheinlich das, was du bei GitLab liegen hattest?

    Wenigstens die ausgecheckten Daten und Zweige, die du dort vorliegen hast, kannst du wieder bei GitLab oder GitHub einfügen. Dazu musst du nur ein neuen Origin anlegen, etwa mit

    Code
    git remote add origin2 ADRESSE

    „origin“ dürfte ja bereits vergeben sein, weil das deine alte Remote-Quelle auf dem Pi war, also habe ich mal eine 2 angehängt. Anschließend kannst du die einzelnen Zweige dort hinpushen, etwa mit

    Code
    git push -u origin2 main
  • Ich kenne gitlab nicht, aber was genau heißt "nur die ausgecheckten Dateien"? Hast du damit nicht alles, was du brauchst, um ggf. ein niegel-nagel-neues Repository zu erstellen?

  • Danke schonmal, ja Dateien sind vorhanden und können auch für ein neues Repository verwendet werden, dabei würde aber leider die Versionshistorie verloren gehen. Die möchte ich wenn möglich gerne erhalten.

    Also V1.0 initial eingecheckt, dann V1.1, V1.2 und am Ende V1.3. Jetzt habe ich Version 1.3 lokal auf der Platte und eben den versteckten .git Ordner. Jetzt suche ich nach einem Anhaltspunkt ob dort die Änderungen inkrementell enthalten sind, damit ich bei Bedarf einen Rollback auf einen älteren Stand (z.B. V1.1) durchführen kann.

  • Danke schonmal, ja Dateien sind vorhanden und können auch für ein neues Repository verwendet werden, dabei würde aber leider die Versionshistorie verloren gehen. Die möchte ich wenn möglich gerne erhalten.

    Ich hatte dieses Problem in der Vergangenheit bei Versionsänderungen von SVN. Ein "Commit" ging einfach nicht mehr. Ich hab dann in den sauren Apfel gebissen und ein neues Repository mit meiner aktuellen "Working Copy" erzeugt. Oh Mann, das hatte ich schon unter der Kategorie "braucht kein Mensch" verdrängt...

  • Also V1.0 initial eingecheckt, dann V1.1, V1.2 und am Ende V1.3. Jetzt habe ich Version 1.3 lokal auf der Platte und eben den versteckten .git Ordner. Jetzt suche ich nach einem Anhaltspunkt ob dort die Änderungen inkrementell enthalten sind, damit ich bei Bedarf einen Rollback auf einen älteren Stand (z.B. V1.1) durchführen kann.

    Was passiert denn, wenn du mal

    Code
    git log

    ausführst? Da müsste doch eigentlich ziemlich viel drinstehen?