Programmiersprachen git

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.


3 Minuten Lesezeit
13 Okt 2024
documents/git_g2x2C3c.jpg

Was lerne ich in diesem Kurs?

In diesem Tutorial wird erklärt, wie Pull Requests in GitHub funktionieren, wie sie erstellt werden, und wie der typische Arbeitsablauf aussieht.

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:

  1. GitHub-Konto: Ein Konto bei GitHub wird benötigt, um an einem Repository mitzuarbeiten.
  2. Repository (Repo): Ein Repository ist ein Projekt, an dem du arbeitest. Es kann dein eigenes oder das eines anderen Entwicklers sein.
  3. 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:

  1. Forken des Repositorys (bei fremden Projekten)
  2. Branch erstellen für deine Änderungen
  3. Änderungen vornehmen und auf den neuen Branch committen
  4. Branch pushen auf GitHub
  5. Pull Request erstellen und zur Überprüfung senden
  6. Überprüfung und Diskussion durch das Team oder den Maintainer
  7. 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.

  1. Gehe zu dem Repository auf GitHub.
  2. Klicke auf die Schaltfläche Fork oben rechts.
  3. 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.

  1. Gehe zu deinem Repository auf GitHub.
  2. Du wirst eine Nachricht sehen, die besagt, dass du kürzlich einen Branch gepusht hast, mit einer Schaltfläche "Compare & Pull Request".
  3. 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 main oder master).
  • 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:

  1. Forken des Repositorys auf GitHub (optional).
  2. Repository klonen: bash git clone https://github.com/DEIN_BENUTZERNAME/REPOSITORY_NAME.git cd REPOSITORY_NAME
  3. Neuen Branch erstellen: bash git checkout -b update-readme
  4. Änderungen vornehmen: Ändere den Inhalt der README.md-Datei.
  5. Änderungen committen: bash git add README.md git commit -m "Aktualisiere das README"
  6. Branch pushen: bash git push origin update-readme
  7. Pull Request erstellen: Gehe zu deinem Repository auf GitHub und klicke auf „Compare & Pull Request“.
  8. Füge eine sinnvolle Beschreibung hinzu und reiche den Pull Request ein.