Pull Request mit GitHub
Ein Pull Request ist ein kollaboratives Tool, mit dem Änderungen, die auf einem separaten Branch vorgenommen wurden, zur Überprüfung und zum Merge vorgeschlagen werden. Der Arbeitsablauf umfasst das Forken (bei fremden Repositories), das Erstellen eines Branches, das Vornehmen von Änderungen, das Pushen des Branches und das Erstellen eines Pull Requests. Sobald der Pull Request genehmigt ist, können die Änderungen in den Haupt-Branch gemergt werden, wodurch die Zusammenarbeit in Teams und Open-Source-Projekten vereinfacht wird.
Bernd Fischer
13. Okt 2024 · 3 Minuten Lesezeit
Ein Pull Request (PR) ist eine Methode, um Änderungen, die auf einem Branch eines Repositorys vorgenommen wurden, zur Überprüfung und Integration in einen anderen Branch (normalerweise den main-Branch) vorzuschlagen. Pull Requests sind eine zentrale Funktion des kollaborativen Workflows in Git und GitHub, insbesondere in Open-Source-Projekten oder bei Teams, die an verschiedenen Features eines Projekts arbeiten.
1. Voraussetzungen
Bevor ein Pull Request erstellt werden kann, müssen einige grundlegende Schritte durchgeführt werden:
- GitHub-Konto: Ein Konto bei GitHub wird benötigt, um an einem Repository mitzuarbeiten.
- Repository (Repo): Ein Repository ist ein Projekt, an dem du arbeitest. Es kann dein eigenes oder das eines anderen Entwicklers sein.
- Git installiert: Git sollte auf deinem lokalen System installiert sein, um Änderungen lokal zu machen und zu pushen.
2. Arbeitsablauf für einen Pull Request
Der übliche Ablauf für einen Pull Request sieht folgendermaßen aus:
- Forken des Repositorys (bei fremden Projekten)
- Branch erstellen für deine Änderungen
- Änderungen vornehmen und auf den neuen Branch committen
- Branch pushen auf GitHub
- Pull Request erstellen und zur Überprüfung senden
- Überprüfung und Diskussion durch das Team oder den Maintainer
- Zusammenführen (Merge) des Pull Requests in den Haupt-Branch
3. Detaillierte Schritte
Schritt 1: Repository forken (optional)
Falls du an einem Repository mitarbeiten möchtest, das dir nicht gehört, musst du es zunächst forken. Das Forken erstellt eine Kopie des Repositorys unter deinem GitHub-Konto.
- Gehe zu dem Repository auf GitHub.
- Klicke auf die Schaltfläche Fork oben rechts.
- Das Repository wird in deinem GitHub-Konto kopiert.
Schritt 2: Repository klonen
Klonen bedeutet, das Repository lokal auf deinem Rechner zu kopieren, damit du Änderungen vornehmen kannst.
git clone https://github.com/DEIN_BENUTZERNAME/REPOSITORY_NAME.git
Wechsle in das geklonte Verzeichnis:
cd REPOSITORY_NAME
Schritt 3: Einen neuen Branch erstellen
Es ist eine bewährte Praxis, Änderungen auf einem separaten Branch vorzunehmen. So bleibt der main-Branch sauber und stabil.
Erstelle einen neuen Branch und wechsle zu diesem Branch:
git checkout -b feature-branch
Hierbei steht feature-branch für den neuen Branchnamen. Wähle einen Namen, der beschreibt, was du vorhast (z. B. bugfix, new-feature, etc.).
Schritt 4: Änderungen vornehmen und committen
Nimm die notwendigen Änderungen am Code vor, speichere die Dateien und füge sie zur Git-Staging-Area hinzu:
git add .
Erstelle dann einen Commit mit einer sinnvollen Nachricht:
git commit -m "Fügt neues Feature hinzu"
Schritt 5: Branch pushen
Schiebe deinen neuen Branch auf GitHub:
git push origin feature-branch
Nun wird dein neuer Branch zu deinem GitHub-Repository hochgeladen.
Schritt 6: Pull Request erstellen
Sobald dein Branch zu GitHub gepusht ist, kannst du einen Pull Request stellen.
- Gehe zu deinem Repository auf GitHub.
- Du wirst eine Nachricht sehen, die besagt, dass du kürzlich einen Branch gepusht hast, mit einer Schaltfläche "Compare & Pull Request".
- Klicke auf Compare & Pull Request.
Hier öffnet sich das Formular zum Erstellen eines Pull Requests. In diesem Formular:
- Wähle den Basis-Branch aus, in den du deine Änderungen einbringen möchtest (normalerweise
mainodermaster). - Wähle deinen Feature-Branch aus, den du gerade erstellt hast.
- Schreibe eine Beschreibung deines Pull Requests. Hier solltest du erklären, was deine Änderungen bewirken, warum sie notwendig sind und wie sie getestet werden können.
Schritt 7: Überprüfung und Diskussion
Nachdem der Pull Request erstellt wurde, können andere Mitwirkende, Teammitglieder oder der Repository-Maintainer den Code überprüfen.
- Es kann Kommentare geben, in denen Änderungen vorgeschlagen oder Fehler markiert werden.
- In diesem Fall kannst du deinen Code weiter verbessern und neue Commits zu deinem Branch hinzufügen. Diese Änderungen werden automatisch in den bestehenden Pull Request integriert.
Schritt 8: Pull Request zusammenführen (Merge)
Wenn dein Pull Request genehmigt wurde, kann der Maintainer oder du (je nach Berechtigung) den Pull Request in den Haupt-Branch mergen. Dies fasst die Änderungen aus deinem Branch in den main-Branch zusammen.
Falls dein Pull Request Konflikte mit dem main-Branch hat, muss das zuerst manuell gelöst werden, bevor der Merge durchgeführt werden kann.
4. Beispiel eines Pull Requests
Angenommen, du hast ein README.md in einem Projekt aktualisiert und möchtest deine Änderungen zur Überprüfung einreichen.
Schritte:
- Forken des Repositorys auf GitHub (optional).
- Repository klonen:
bash git clone https://github.com/DEIN_BENUTZERNAME/REPOSITORY_NAME.git cd REPOSITORY_NAME - Neuen Branch erstellen:
bash git checkout -b update-readme - Änderungen vornehmen:
Ändere den Inhalt der
README.md-Datei. - Änderungen committen:
bash git add README.md git commit -m "Aktualisiere das README" - Branch pushen:
bash git push origin update-readme - Pull Request erstellen: Gehe zu deinem Repository auf GitHub und klicke auf „Compare & Pull Request“.
- Füge eine sinnvolle Beschreibung hinzu und reiche den Pull Request ein.