# CKDGen Files

In diesem Repository werden die dataset files der CKDGen Webseite verwaltet. Das ckdgen-files Repository wird mit git-lfs verwaltet.


## Git LFS
Git LFS (Large File Storage) ist eine Erweiterung für Git, die große Dateien (z.B. Binärdateien, Videos, Datensätze) nicht direkt im Repository speichert, sondern durch Platzhalter ersetzt und die eigentlichen Dateien auf einem Server ablegt. So bleibt das Repository schlank und performant.

### 1. Installation
* macOS:
  ```bash
  brew install git-lfs
  ```
* Ubuntu/Debian:
  ```bash
  sudo apt-get install git-lfs
  ```
* Windows:
  Lade den Installer von git-lfs.com herunter oder nutze Chocolatey (`choco install git-lfs`).
* Von Quelle:
  ```bash
  git clone https://github.com/git-lfs/git-lfs.git
  cd git-lfs
  make
  ```

### 2. Globale Installation (einmalig pro Rechner)
Nach der Installation musst du Git LFS einmalig in deiner Git-Konfiguration aktivieren:

```bash
git lfs install
Das registriert die benötigten Filter und Hooks in deiner globalen Git-Konfiguration.
```


### 3. Dateien herunterladen (Clonen oder Pull)

Beim normalen git clone werden die LFS-Dateien nicht automatisch heruntergeladen. Das Repository bleibt also leichtgewichtig.

* Explizit herunterladen (z.B. zum Bearbeiten):
  ```bash
  git lfs pull
  ```
* Bei einem frischen Klon mit allen LFS-Dateien:
  ```bash
  git lfs fetch --all
  ```

### 4. Weitere nützliche Befehle

`git lfs status`: Zeigt, welche Dateien von LFS verwaltet werden.
`git lfs ls-files`: Listet alle Dateien auf, die im aktuellen Commit von LFS verwaltet werden.
`git lfs track`: Zeigt die aktuell getrackten Dateitypen an.
`git lfs untrack "*.mp4"`: Entfernt die Zuordnung für diesen Dateityp.
`git lfs migrate`: Hilft, große Dateien innerhalb der Git-Historie nachträglich zu LFS zu migrieren (z.B. wenn versehentlich große Dateien committet wurden).
`git lfs prune`: Entfernt alte, nicht mehr benötigte LFS-Dateien lokal (um Speicherplatz zu sparen).