Git verwenden

Wie man Git verwendet

Willkommen zur Git-Benutzeranleitung für Jupyterhub.nrw! Egal, ob du Student oder Forscher bist, Git ist ein leistungsfähiges Werkzeug, das dir helfen kann, deine Projekte zu verwalten, mit anderen zusammenzuarbeiten und alle Änderungen an deinem Code, Notebooks oder Forschungsdokumenten zu verfolgen.

Was ist Git?

Git ist ein Versionskontrollsystem, das Änderungen in Dateien verfolgt und es mehreren Personen ermöglicht, gleichzeitig an demselben Projekt zu arbeiten, ohne sich gegenseitig zu stören. Es hilft dir, eine Geschichte aller Änderungen an einem Projekt zu führen, zu früheren Versionen zurückzukehren und Zusammenarbeit effizient zu verwalten.

Warum Git verwenden?

  • Änderungen verfolgen: Git protokolliert jede Änderung, die du an deinen Dateien vornimmst, sodass du leicht sehen kannst, was du geändert hast oder zu einer früheren Version zurückkehren kannst.
  • Mit anderen zusammenarbeiten: Wenn du an einem Gruppenprojekt oder einer Forschung mit anderen arbeitest, ermöglicht dir Git, dass jeder beitragen kann, ohne die Arbeit der anderen zu überschreiben.
  • Reproduzierbarkeit: Git hilft dir, eine vollständige Geschichte deines Forschungscodes zu führen, sodass deine Arbeit reproduzierbar ist.
  • Backup: GitHub- oder GitLab-Repositorys dienen als Backup für deine Dateien, falls deine lokale Kopie verloren geht oder beschädigt wird.

1. Erste Schritte mit Git

Bevor du Git verwendest, musst du es auf deinem Computer einrichten.

Git installieren

Folge diesen Schritten, um Git auf deinem Computer zu installieren:

Windows: Lade den Git-Installer von Git for Windows herunter und führe die Einrichtung aus. macOS: Installiere Git mit dem Befehl brew install git über Homebrew oder lade den Installer von Git for macOS herunter. Linux: Verwende den Paketmanager, um Git zu installieren. Für Ubuntu:

sudo apt-get install git

Git konfigurieren

Sobald Git installiert ist, konfigurierst du es mit deinen Benutzerinformationen:

git config --global user.name "Dein Name"
git config --global user.email "deine-email@example.com"

Diese Informationen werden verwendet, um deine Commits zu verfolgen.

2. Grundlegende Git-Befehle

Ein Repository klonen

Lass uns die wichtigsten Git-Befehle durchgehen, die du benötigst, um deine Projekte zu verwalten.

Klonen bedeutet, eine Kopie eines entfernten Git-Repositorys (wie ein Projekt auf GitHub) auf deinen Computer herunterzuladen. Du wirst dies benötigen, wenn du mit einem bestehenden Projekt oder einem gemeinsamen Forschungsrepository arbeiten möchtest:

git clone https://github.com/dein-repository.git

Status des Projekts überprüfen

Um zu sehen, welche Änderungen du vorgenommen hast, aber noch nicht commitet hast, führe Folgendes aus:

git status

Änderungen verfolgen

Sobald du Änderungen an deinen Dateien vorgenommen hast, kannst du sie stagen und committen.

Änderungen stagen

Bevor du commitest, musst du Dateien in den “Staging-Bereich” hinzufügen:

git add <dateiname>

Um alle Änderungen hinzuzufügen:

git add .

Änderungen committen

Sobald die Änderungen gestaged sind, kannst du sie “committen”. Ein Commit ist wie ein Speicherpunkt mit einer Nachricht, die die Änderungen beschreibt:

git commit -m "Beschreibung der vorgenommenen Änderungen"

Änderungen an das entfernte Repository pushen

Nach dem Commiten der Änderungen lokal, pushe sie an das entfernte Repository (z. B. GitHub), damit andere deine Arbeit sehen können:

git push origin main

Dieser Befehl lädt deine Commits in den Hauptzweig des entfernten Repositorys hoch.

Änderungen vom entfernten Repository ziehen

Um dein lokales Repository mit Änderungen zu aktualisieren, die von anderen vorgenommen wurden, führe Folgendes aus:

git pull origin main

Dieser Befehl holt die neuesten Änderungen vom entfernten Repository.

4. Branching und Merging

Git ermöglicht es dir, an separaten Branches zu arbeiten, um neue Funktionen zu entwickeln, ohne den Hauptcode zu beeinflussen.

Einen Branch erstellen

Um einen neuen Branch zu erstellen:

git checkout -b neue-funktion

Dies erstellt einen neuen Branch und wechselt zu ihm.

Branches wechseln

Um zu einem bestehenden Branch zu wechseln:

git checkout main

Branches zusammenführen

Sobald du Änderungen auf deinem Branch vorgenommen hast, kannst du ihn in den Hauptbranch zusammenführen:

git checkout main
git merge neue-funktion

Wenn es Konflikte gibt, wird Git dich benachrichtigen, diese zu lösen, bevor der Merge abgeschlossen wird.

5. Zusammenarbeiten mit Git

Ein Repository forken

Wenn du zu einem Projekt beitragen möchtest, kannst du das Repository auf GitHub forken. Dies erstellt eine Kopie des Repositorys, in der du Änderungen vornehmen kannst, ohne das ursprüngliche Projekt zu beeinflussen.

Einen Pull Request erstellen

Sobald du Änderungen vorgenommen hast, kannst du einen Pull Request (PR) einreichen, um deine Änderungen dem ursprünglichen Repository vorzuschlagen.

Gehe zu dem Repository, zu dem du beitragen möchtest. Klicke auf die Schaltfläche “Pull Request”. Wähle deinen Branch und reiche den PR mit einer Beschreibung deiner Änderungen ein.

6. Git in JupyterHub

Git ist normalerweise in den JupyterHub-Konfigurationen installiert und du kannst darauf über die Befehlszeile zugreifen.

Du kannst die Installation von Git überprüfen, indem du git version in das Terminal eingibst.

7. Fehlerbehebung

Was tun, wenn du Merge-Konflikte siehst

Merge-Konflikte treten auf, wenn Änderungen in zwei Branches nicht automatisch zusammengeführt werden können. Hier ist, wie du sie lösen kannst:

Git markiert die konfliktbehafteten Dateien mit Konfliktmarkern. Öffne die Datei, um den Konflikt zu sehen. Bearbeite die Datei, um den Konflikt manuell zu lösen.

Stage die Datei und committe die Änderungen:

git add <dateiname>
git commit -m "Merge-Konflikt aufgelöst"

Den letzten Commit rückgängig machen

Wenn du einen Fehler in deinem letzten Commit gemacht hast und ihn rückgängig machen möchtest, kannst du Folgendes verwenden:

git reset --soft HEAD~1

Dies wird den Commit rückgängig machen, aber deine Änderungen für das erneute Commiten gestagen lassen.

8. Zusätzliche Ressourcen