[ English | 한국어 (대한민국) | 中文 (简体, 中国) | Indonesia | English (United Kingdom) | Deutsch | español (México) ]

Einrichten und Erlernen von GIT

Bemerkung

In diesem Abschnitt wird davon ausgegangen, dass Sie die Anleitung Konto-Setup abgeschlossen haben.

GIT

Was ist Git?

Git ist ein kostenloses und quelloffenes verteiltes Versionskontrollsystem, mit dem die OpenStack-Community Änderungen an Quellcode und Dokumentation verwaltet.

Git erlaubt es Ihnen:

Installation

Mac OS

  1. Gehen Sie zur Git Download-Seite und klicken Sie auf Mac OS X.

  2. Die heruntergeladene Datei sollte eine dmg in Ihrem Download-Ordner sein. Öffnen Sie diese dmg-Datei und folgen Sie den Anweisungen auf dem Bildschirm.

Wenn Sie den Paketmanager Homebrew verwenden, öffnen Sie ein Terminal und geben Sie ein:

brew install git

Linux

Für Distributionen wie Debian, Ubuntu oder Mint öffnen Sie ein Terminal und geben Sie ein:

sudo apt install git

Für Distributionen wie RedHat, Fedora 21 oder früher, oder CentOS öffnen Sie ein Terminal und geben Sie ein:

sudo yum install git

Für Fedora 22 oder höher öffnen Sie ein Terminal und geben Sie ein:

sudo dnf install git

Für SUSE-Distributionen öffnen Sie ein Terminal und geben Sie ein:

sudo zypper in git

Windows

Windows Subsystem für Linux (WSL) ist in Windows 10 Anniversary Update oder höher (Build 1607+) verfügbar. Es besteht die Möglichkeit, moderne Linux-Betriebssysteme zu installieren und zu betreiben:

Alle gängigen Tools wie bash, git und SSH funktionieren sofort nach dem Auspacken.

Obwohl Git Download-Seite Windows Installationsbinärdateien anbietet, werden die meisten OpenStack-Entwicklungswerkzeuge (z.B. git-review) leider nicht gut in der Windows-Umgebung funktionieren.

Git konfigurieren

Sobald Sie Git installiert haben, müssen Sie es konfigurieren. Öffnen Sie Ihre Terminalanwendung und geben Sie die folgenden Befehle ein, indem Sie Ihren Vor-/Nachnamen und Ihre E-Mail-Adresse eingeben. So werden Ihre Beiträge identifiziert:

git config --global user.name "Firstname Lastname"
git config --global user.email "your_email@youremail.com"

Bemerkung

Verwenden Sie die gleiche E-Mail-Adresse, die bei der Einrichtung des Kontos verwendet wurde.

Git erlernen

Sie können Git Immersion verwenden, um Tutorials zum Erlernen von Git durchzuarbeiten.

Als Referenz verwenden Sie das Git Reference and Cheat Sheet.

Commit-Meldungen

Commit-Meldungen sind die ersten Dinge, die ein Reviewer sieht und werden als Beschreibungen im Git-Log verwendet. Sie liefern eine Beschreibung der Historie der Änderungen in einem Repository. Commit-Nachrichten können nach dem Zusammenführen des Patches nicht mehr geändert werden.

Format:

  • Summenzeile

  • Leere Zeile

  • Body

  • Leere Zeile

  • Tags

Bemerkung

Tags sollten einmal pro Zeile eingegeben werden.

Summenzeile

Die Summenzeile beschreibt kurz den Inhalt des Patches. Die Zeichenbeschränkung beträgt 50 Zeichen. Die Summenzeile sollte nicht mit einem Punkt enden. Wenn die Änderung zum Zeitpunkt der Übertragung noch nicht abgeschlossen ist, starten Sie die Commit-Nachricht mit WIP.

Body

Der Body enthält die Erklärung des zu lösenden Problems und warum es behoben werden sollte, die Beschreibung der Lösung und zusätzliche optionale Informationen, wie es die Code-Struktur verbessert, oder Verweise auf andere relevante Patches, zum Beispiel. Die Zeilen sind auf 72 Zeichen begrenzt. Die Stelle sollte alle wichtigen Informationen im Zusammenhang mit dem Problem enthalten, ohne davon auszugehen, dass der Leser die Ursache des Problems versteht oder Zugang zu externen Seiten hat.

Tags

Tags sind Referenzen, die verwendet werden, um die Änderung mit anderen Werkzeugen zu verknüpfen.

Die folgenden Tags sind erforderlich:

  • Die Zeile Change-id ist ein eindeutiger Hash, der die Änderung beschreibt, der automatisch durch einen Git Commit-Hook erzeugt wird. Dies sollte beim Rebasieren eines Commits nach einem Review-Feedback nicht geändert werden, da es von Gerrit verwendet wird, um Versionen eines Patches zu verfolgen.

Storyboard spezifische Tags:

  • Task: 1234: the number of the task in Storyboard implemented by the change. This will auto update the task to ‚Review‘ status and assign it to you when you push the patch.

  • Story: 1234567: the number of the story in Storyboard to which the task being implemented belongs. This will post a comment on the story with a link to your patch.

Launchpad spezifische Tags:

  • Closes-Bug: #123456789: Verwenden Sie Closes-Bug, wenn die Übertragung dazu bestimmt ist, den Fehler, auf den verwiesen wird, vollständig zu beheben und zu schließen. Verwenden Sie die Launchpad-ID des Fehlers für die Nummer; Gerrit erstellt automatisch einen Link zu dem Fehler.

  • Partial-Bug: #123456789: Verwenden Sie Partial-Bug, wenn die Übertragung nur eine teilweise Korrektur ist und mehr Arbeit erforderlich ist. Verwenden Sie die Launchpad-ID des Fehlers für die Nummer; Gerrit erstellt automatisch einen Link zu dem Fehler.

  • Related-Bug: #12456789: Verwenden Sie ‚Related-Bug‘, wenn die Übertragung nur mit dem referenzierten Fehler zusammenhängt. Verwenden Sie die Launchpad-ID des Fehlers für die Nummer; Gerrit erstellt automatisch einen Link zu dem Fehler.

  • Partial-Implements: Verwenden Sie dieses Tag, wenn die Änderung teilweise einen Launchpad-Blueprint implementiert. Verwenden Sie den Namen des Blueprints als ID.

  • Implements: Verwenden Sie dieses Tag, wenn die Änderung einen Launchpad-Blueprints vollständig implementiert. Verwenden Sie den Namen des Blueprints als ID.

Die folgenden Tags sind optional; ihre Verwendung wird jedoch empfohlen, wenn sie auf den Patch anwendbar sind:

  • Das Tag DocImpact enthält einen Kommentar, warum die Änderung die Dokumentation beeinflusst. Setzen Sie DocImpact auf eine Linie von selbst. Verwenden Sie dieses Tag, um anzuzeigen, dass die Dokumentation entweder im Patch enthalten ist oder Auswirkungen auf die Dokumentation hat. Wenn dieses Tag in einer Commit-Nachricht enthalten ist, erstellt Gerrit einen Fehler für das von der Änderung betroffene Projekt zur Aufgabenverfolgung oder wechselt bei Bedarf zur Openstack-api-Site.

  • Das APIImpact Tag enthält einen Kommentar, warum die Änderung Auswirkungen auf eine öffentliche HTTP-API hat. Setzen Sie APIImpact auf eine Linie von selbst. Verwenden Sie dieses Tag, um anzuzeigen, dass der Patch Auswirkungen auf eine öffentliche HTTP-API hat. Wenn dieses Tag in einer Commit-Meldung enthalten ist, kann die API_Working_Group es verwenden, um bei der Suche nach relevanten Bewertungen zu helfen.

  • Das Tag SecurityImpact wird verwendet, um anzuzeigen, dass eine Änderung Auswirkungen auf die Sicherheit hat und sollte von der OpenStack Security Group überprüft werden.

  • Das Tag UpgradeImpact enthält einen Kommentar, warum sich die Änderung auf Upgrades auswirkt. Es wird verwendet, um anzuzeigen, dass eine Änderung Auswirkungen auf das Upgrade hat, wenn Sie ein kontinuierliches Deployment oder N auf N+1 Upgrades durchführen. Erwägen Sie auch, den Abschnitt „Upgrade Notes“ in den Versionshinweisen für das betroffene Projekt zu aktualisieren.

  • Das Depends-On: <gerrit-change-url> Tag wird verwendet, um auf eine Änderung hinzuweisen, von der die aktuelle Änderung abhängt. Verwenden Sie den Permalink der Änderung.