git_issue_importer/CHECKOUT_Repo_for_MSTY.md

3.3 KiB

Git Repositorium für RAG nutzen

Wenn du ein Repositorium für RAG etwa in Mstys Knowledge Stacks nutzbar machen willst, darf es keine binären Daten enthalten. Hier eine ausführliche Anleitung:

Option A: Nutze das Checkout-Script

Kopiere die Scriptdatei in ein beliebiges Verzeichnis, in das du die textbasierten Repodateien kopieren willst.

Für Windows:

checkout.bat https://git.rpi-virtuell.de/Comenius-Institut/FOERBICO.git

Hinweis: Bei geschützten Repositories musst du Benutzernamen und Passwort in der URL angeben:

checkout.bat https://username:passwort@git.rpi-virtuell.de/Comenius-Institut/geschuetztes_repo.git

Für Linux/Mac:

Mache das Script zuerst ausführbar:

chmod +x checkout.sh

Dann führe es aus:

./checkout.sh https://git.rpi-virtuell.de/Comenius-Institut/FOERBICO.git

Was die Skripte machen:

  1. Überprüfen, ob bereits ein Verzeichnis mit dem Repository-Namen existiert und löschen es gegebenenfalls
  2. Klonen das komplette Repository
  3. Entfernen alle bekannten binären Dateiformate (Bilder, Videos, Audio, Archive) aus dem Arbeitsverzeichnis
  4. Belassen nur die Textdateien im Repository

Folgende Dateiformate werden entfernt:

  • Bilder: JPG, JPEG, PNG, GIF, WEBP
  • Videos: MP4, MOV, AVI, MKV
  • Audio: MP3, WAV, OGG
  • Archive: ZIP, TAR

Dies ist ein pragmatischer Ansatz, der zwar zunächst alle Dateien herunterlädt, aber anschließend die binären Dateien zuverlässig entfernt.

Option B: Alternative mit Sparse-Checkout (für fortgeschrittene Benutzer)

Hinweis: Diese Methode funktioniert möglicherweise nicht zuverlässig bei allen Git-Versionen.

Um ein Repository ohne die Mediendateien (Bilder, Videos, Audios) direkt zu klonen, kannst du auch Sparse-Checkout verwenden. Hier ist die Schritt-für-Schritt-Anleitung:


1. Klone das Repository ohne automatischen Checkout:

git clone --no-checkout https://git.rpi-virtuell.de/Comenius-Institut/FOERBICO.git
cd FOERBICO

2. Aktiviere Sparse-Checkout und konfiguriere die Dateiausschlüsse:

# Aktiviere Sparse-Checkout
git config core.sparseCheckout true

# Erstelle/Editiere die sparse-checkout-Datei
echo "/*" > .git/info/sparse-checkout   # Schließe erst ALLES ein
echo "!*.jpg" >> .git/info/sparse-checkout
echo "!*.jpeg" >> .git/info/sparse-checkout
echo "!*.png" >> .git/info/sparse-checkout
echo "!*.gif" >> .git/info/sparse-checkout
echo "!*.webp" >> .git/info/sparse-checkout
echo "!*.mp4" >> .git/info/sparse-checkout
echo "!*.mov" >> .git/info/sparse-checkout
echo "!*.avi" >> .git/info/sparse-checkout
echo "!*.mkv" >> .git/info/sparse-checkout
echo "!*.mp3" >> .git/info/sparse-checkout
echo "!*.wav" >> .git/info/sparse-checkout
echo "!*.ogg" >> .git/info/sparse-checkout
echo "!*.zip" >> .git/info/sparse-checkout
echo "!*.tar" >> .git/info/sparse-checkout

3. Führe den Checkout für den gewünschten Branch durch (z.B. main oder master):

git checkout main  # oder dein Ziel-Branch

Erklärung:

  • Mit /* schließt du alle Dateien und Ordner zunächst ein.
  • Die Zeilen mit !*.jpg, !*.mp4 usw. schließen spezifische Dateitypen aus.
  • Die ausgeschlossenen Dateien werden nicht in deinem Arbeitsverzeichnis erscheinen, sind aber weiterhin im Repository vorhanden (du kannst sie später bei Bedarf nachladen).