Skip to main content

Schreiben von Code für ein Projekt

Verwenden Sie Verzweigungen, Verzweigungen, Commits und Pullanforderungen, um Codeänderungen für gemeinsame Projekte sicher zu schreiben, zu verfeinern und vorzuschlagen.

Wenn Sie zu einem Projekt beitragen, benötigen Sie einen sicheren Ort, um Code zu schreiben und zu verfeinern, bevor es sich auf Ihre Hauptcodebasis auswirkt. Verzweigungen, Verzweigungen, Commits und Pullanforderungen arbeiten zusammen, um Ihnen diesen Platz zu geben, sodass Sie experimentieren, inkrementelle Arbeit einchecken und fertige Änderungen zur Überprüfung vorschlagen können.

Isolieren Ihrer Arbeit mit Zweigen und Forks

Die meisten Arbeiten beginnen mit der Erstellung einer isolierten Kopie des Codes, die Sie frei ändern können.

  • Verwenden Sie eine Verzweigung , wenn Sie Schreibzugriff auf ein Repository haben. Mit einer Verzweigung können Sie ein Feature entwickeln, einen Fehler beheben oder in einem enthaltenen Bereich des Repositorys experimentieren, ohne dass sich dies auf andere Verzweigungen auswirkt. Sie erstellen eine Verzweigung aus einer vorhandenen Verzweigung, in der Regel die Standardverzweigung.
  • Verwenden Sie eine Verzweigung , wenn Sie keinen Schreibzugriff haben oder wenn Sie volle Unabhängigkeit vom ursprünglichen Projekt wünschen. Eine Verzweigung ist ein separates Repository, das Code- und Sichtbarkeitseinstellungen mit dem ursprünglichen "upstream"-Repository gemeinsam verwendet. Es verfügt über eigene Verzweigungen, Probleme und Pullanforderungen. Mit einer Verzweigung können Sie auch Pullanforderungen für das upstream-Repository öffnen.

Eine Verzweigung ist in der Regel die einfachste Wahl, wenn Sie bereits in einem freigegebenen Repository zusammenarbeiten. Eine Verzweigung ist häufig die beste Wahl für Open Source Beiträge, bei denen Sie möglicherweise keinen Schreibzugriff auf das Upstream-Repository haben.

Einchecken von Commits

Beim Schreiben von Code speichern Sie kleine, aussagekräftige Gruppen von Änderungen als Commits. Jeder Commit zeichnet eine Momentaufnahme Ihrer Arbeit zusammen mit einer Nachricht auf, die beschreibt, was geändert wurde, wodurch das Nachverfolgen des Verlaufs, überprüfen von Änderungen und das Verständnis der Entwicklung des Codes erleichtert wird.

Wenn Sie häufig einen Commit für Ihre Verzweigung oder Verzweigung ausführen, können Sie folgendes ausführen:

  • Unterteilen Sie eine größere Änderung in bearbeitbare Schritte.
  • Führen Sie einen Rollback in einen früheren Zustand durch, wenn ein Experiment nicht funktioniert.
  • Geben Sie Bearbeitern einen klaren Verlauf darüber, wie Sie zu der endgültigen Änderung gelangt sind.

Vorschlagen von Änderungen mit Pullanforderungen

Wenn Ihre Arbeit für die Freigabe bereit ist, öffnen Sie eine Pull-Anforderung , um das Zusammenführen Ihrer Änderungen in der Basiszweige vorzuschlagen. Eine Pull-Anforderung vereint Ihre Commits, eine Beschreibung der Änderung und die Tools, die Prüfer diskutieren und auswerten müssen, bevor sie zusammengeführt werden.

Sie können eine Pull-Anforderung öffnen, während die Arbeit noch ausgeführt wird, indem Sie eine Pull-Entwurfsanforderung erstellen, die Ihre Änderungen freigibt, ohne eine formale Überprüfung anzufordern. Dies ist nützlich, wenn Sie frühzeitig feedback möchten oder automatisierte Prüfungen mit Ihrem Code ausführen möchten.

Speichern des Codes auf dem aktuellen und optimierten Stand

Während eine Pullanforderung geöffnet ist, kann sich der Basiszweig weiter ändern, wenn andere Personen ihre Arbeit zusammenführen. Um Ihre Änderungen sauber zu halten und Konflikte zu reduzieren, können Sie:

  • Führen Sie die Basisverzweigung häufig in Ihre Verzweigung um, damit sich Ihre Diff auf die Einführung Ihrer Änderungen konzentriert. GitHub zeigt standardmäßig einen 3-Punkt-Diff an, der die Verzweigung mit dem Punkt vergleicht, an dem sie von der Basis abweichen.
  • Rebase to aufräumen a messy commit history – reordering, combining, or rewording commits - before you ask for review.
  • Lösen Sie Zusammenführungskonflikte, wenn Git konkurrierende Änderungen nicht automatisch kombinieren kann.

Arbeiten in Repositorysteuerelementen

Erfahrene Mitwirkende arbeiten in den Schutzläufen, die ein Repository definiert. Mit diesen Steuerelementen können Sie pushen, wer Ihre Arbeit genehmigen muss und was übergeben werden muss, bevor sie zusammengeführt wird.

  • Geschützte Verzweigungen und Regelgruppen können direkte Pushs an wichtige Verzweigungen blockieren, einen linearen Verlauf oder signierte Commits erfordern und Statusprüfungen oder Überprüfungen vor dem Zusammenführen erfordern.
  • Codebesitzer werden automatisch zur Überprüfung aufgefordert, wenn Ihre Änderung Dateien berührt, die sie besitzen. Planen Sie daher die Genehmigung für vertrauliche Bereiche.
  • Pushregeln können in einem Verzweigungsnetzwerk angewendet werden, Dateipfade, Größen oder Namen in jeder Verzweigung einschränken.
  • Vor dem Empfangen von Hooks können Administratoren GitHub Enterprise Server Richtlinienüberprüfungen auf dem Server erzwingen, bevor Commits akzeptiert werden.

Integrierte Toolkette

Pullanforderungen verbinden Ihren Code mit den Automatisierungs- und Diensten, mit denen Sie Code schnell und sicher schreiben können.

  • Code scanning und Dependabot Sicherheitsprobleme und anfällige Abhängigkeiten, wenn Ihre Änderungen durch eine Pullanforderung navigieren, sodass Sie sichere Codierungsmethoden frühzeitig anwenden können.
  • GitHub Actions kann eine kontinuierliche Integration auf jedem Push an Ihre Pull-Anforderung ausführen, ihre Änderungen automatisch erstellen und testen.

Weiterführende Lektüre