Zum Inhalt springen

Erste Schritte

Git ist in der VM bereits installiert (git --version). Falls nicht: sudo apt install git.

Einmalig sagst du Git, wer du bist. Diese Angaben stehen später in jedem Commit:

Terminal-Fenster
git config --global user.name "Vorname Nachname"
git config --global user.email "vorname.nachname@example.ch"
git config --global init.defaultBranch main
git config --global --list

Damit du ohne Passwort pushen kannst, hinterlegst du einen SSH-Schlüssel bei GitLab. Das Prinzip (öffentlicher und privater Schlüssel) kommt in Modul 10 ausführlich, hier reicht das Rezept.

  1. Schlüsselpaar erzeugen. Eine Passphrase ist empfehlenswert, du kannst sie aber auch leer lassen:
    Terminal-Fenster
    ssh-keygen -t ed25519 -C "gitlab"
  2. Öffentlichen Schlüssel anzeigen und kopieren:
    Terminal-Fenster
    cat ~/.ssh/id_ed25519.pub
  3. In GitLab: Avatar oben rechts, Preferences, SSH Keys, Schlüssel einfügen, Add key.
  4. Verbindung testen:
    Terminal-Fenster
    ssh -T git@gitlab.ethz.ch
    Die Antwort sollte Welcome to GitLab, @deinname! lauten.

Die Adresse findest du auf der Projektseite in GitLab unter Code, Reiter Clone with SSH.

Terminal-Fenster
cd ~
git clone git@gitlab.ethz.ch:GRUPPE/lernplattform.git
cd lernplattform
git status

git status ist der Befehl, den du am häufigsten brauchen wirst. Er sagt dir, auf welchem Branch du bist und was sich geändert hat.

  1. Eine Datei anlegen:
    Terminal-Fenster
    mkdir -p labs/linux/02-git
    echo "Hallo Git, hier ist $(whoami)" > labs/linux/02-git/hallo.txt
    git status
    Git meldet eine «untracked» Datei, die es noch nicht kennt.
  2. Datei in die Staging Area legen:
    Terminal-Fenster
    git add labs/linux/02-git/hallo.txt
    git status
    Jetzt steht sie unter «Changes to be committed».
  3. Commit erstellen:
    Terminal-Fenster
    git commit -m "Erste Abgabe: hallo.txt"
    git log --oneline
Terminal-Fenster
echo "Zweite Zeile" >> labs/linux/02-git/hallo.txt
git diff
git add -A
git commit -m "Zweite Zeile in hallo.txt"
git log --oneline

git diff zeigt, was sich seit dem letzten Commit geändert hat. git add -A nimmt alle Änderungen auf einmal in die Staging Area.

Terminal-Fenster
git push

Beim ersten Push eines neuen Branches verlangt Git git push -u origin BRANCHNAME. Danach reicht git push. Öffne das Projekt in GitLab und prüfe, ob deine Commits dort sichtbar sind.

Wenn andere (oder du auf einem anderen Rechner) gepusht haben:

Terminal-Fenster
git pull

Mach das zur Gewohnheit, bevor du mit Arbeiten beginnst.

Lösung anzeigen
Terminal-Fenster
cat > labs/linux/02-git/visitenkarte.md <<'EOT'
# Visitenkarte
- Name: Vorname Nachname
- Lieblingssprache: Python
- Warum Linux: Weil fast jeder Server damit läuft.
EOT
git add labs/linux/02-git/visitenkarte.md
git commit -m "Visitenkarte für Modul 2"
git push

Selbstcheck · 3 Fragen

1. In welcher Reihenfolge?
2. Welcher Befehl zeigt, was sich seit dem letzten Commit geändert hat?
3. Was passiert bei git commit ohne vorheriges git add?