# Beispiel Workflow mit Git

## SSH-Key generieren

1. `ssh-keygen` in der Konsole eingeben
    - generiert einen privaten und öffentlichen Schlüssel in euer SSH-Verzeichnis `~/.ssh`
2. Kopiert den Inhalt des öffentlichen Schlüssel `<key-name>.pub`
3. `git config --global user.name 'Your Name'` und `git config --global user.email 'you@mail.com'` setzen

```sh
cd ~/.ssh # wir gehen in unser .ssh directory
ssh-keygen # danach key namen eingeben und enter bis zum ende
cat eidp_key.pub # gibt den public key aus, diesen kopieren
```

Wie das ganze aussieht:

![image how I generated the key](./img/ssh-key.png)

## SSH-Key zum Git hinzufügen

1. Settings
2. Keys
3. Add Key
4. Kopiert den Inhalt von `<key-name>.pub` in Content

![image how to add the key](./img/gitea.png)

## Repository clone und VSCode

1. Wir kopieren oder besser gesagt klonen das Git Repository mit `git clone <url>`
    - die URL findet ihr rechts oben im repository auf der Website
2. Das Repository wird in einem Ordner gespeichert der wie das Repository heißt
3. Jetzt öffnen wir diesen Ordner in VSCode
4. Über den Git Tab können wir Datein hinzufügen und hochladen oder Änderungen herunterladen

![image how clone git](./img/git-clone.png)

alternative kann man auch direkt in VSCode das Repository herunterladen

1. Git-Tab auswählen
   ![img of git tab](./img/git-tab.png)
2. Clone Repository
3. Die URL zum Repository einfügen
4. Speicherort auswählen

Nach dem öffnen sieht das dann so aus:

![img how vscode looks with the repository](./img/git-project-open.png)

## Dateien über Git-Tab hochladen

1. Fügt die Datein mit dem `+` hinzu
2. Gebt eine Nachricht ein und drückt auf `Commit`
3. Zum endgültigen hochladen `Sync changes`
![img how to upload files](./img/git-upload.png)