Google setzt sich dafür ein, die Rassengerechtigkeit für schwarze Gemeinschaften zu fördern. Siehe wie.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Workflow für die Quellcodeverwaltung

Für die Arbeit mit Android-Code müssen Git (ein Open-Source-Versionskontrollsystem) und Repo (ein von Google erstelltes Repository-Verwaltungstool, das auf Git ausgeführt wird) verwendet werden. Unter Quellcodeverwaltungstools finden Sie eine Erläuterung der Beziehung zwischen Repo und Git sowie Links zur unterstützenden Dokumentation für jedes Tool.

Fließen

Die Android-Entwicklung umfasst den folgenden grundlegenden Workflow:

  1. Starten Sie einen neuen Themenzweig mit repo start .
  2. Bearbeiten Sie die Dateien.
  3. Bühnenwechsel mit git add .
  4. Änderungen mit git commit .
  5. Laden Sie Änderungen mithilfe des repo upload auf den Überprüfungsserver repo upload .

Aufgaben

Das Arbeiten mit Git und Repo in den Android-Code-Repositorys umfasst das Ausführen der folgenden allgemeinen Aufgaben.

Befehl Beschreibung
repo init Initialisiert einen neuen Client.
repo sync Synchronisiert den Client mit den Repositorys.
repo start Startet einen neuen Zweig.
repo status Zeigt den Status des aktuellen Zweigs an.
repo upload Lädt Änderungen auf den Überprüfungsserver hoch.
git add Stuft die Dateien in Szene.
git commit Übernimmt die bereitgestellten Dateien.
git branch Zeigt die aktuellen Zweige an.
git branch [branch] Erstellt einen neuen Themenzweig.
git checkout [branch] Schaltet HEAD auf den angegebenen Zweig um.
git merge [branch] Fügt [branch] in den aktuellen Zweig ein.
git diff Zeigt den Unterschied der nicht bereitgestellten Änderungen an.
git diff --cached Zeigt den Unterschied der inszenierten Änderungen an.
git log Zeigt den Verlauf des aktuellen Zweigs an.
git log m/[codeline].. Zeigt die Commits an, die nicht gepusht wurden.

Informationen zur Verwendung von Repo zum Herunterladen der Quelle finden Sie unter Herunterladen der Quelle und in der Repo-Befehlsreferenz .

Clients synchronisieren

So synchronisieren Sie die Dateien für alle verfügbaren Projekte:

repo sync

So synchronisieren Sie die Dateien für ausgewählte Projekte:

repo sync PROJECT0 PROJECT1 ... PROJECTN

Themenzweige erstellen

Starten Sie einen Themenzweig in Ihrer lokalen Arbeitsumgebung, wenn Sie mit einer Änderung beginnen, z. B. wenn Sie mit der Arbeit an einem Fehler oder einer neuen Funktion beginnen. Ein Themenzweig ist keine Kopie der Originaldateien. Es ist ein Zeiger auf ein bestimmtes Commit, wodurch das Erstellen lokaler Zweige und das Wechseln zwischen ihnen zu einer einfachen Operation wird. Durch die Verwendung von Zweigen können Sie einen Aspekt Ihrer Arbeit von den anderen isolieren. Einen interessanten Artikel zur Verwendung von Themenzweigen finden Sie unter Trennen von Themenzweigen .

Um einen Themenzweig mit Repo zu starten, navigieren Sie zum Projekt und führen Sie Folgendes aus:

repo start BRANCH_NAME .

Die Nachlaufzeit (.) Repräsentiert das Projekt im aktuellen Arbeitsverzeichnis.

So überprüfen Sie, ob der neue Zweig erstellt wurde:

repo status .

Verwenden von Themenzweigen

So weisen Sie den Zweig einem bestimmten Projekt zu:

repo start BRANCH_NAME PROJECT_NAME

Eine Liste aller Projekte finden Sie unter android.googlesource.com . Wenn Sie bereits zum Projektverzeichnis navigiert sind, verwenden Sie einfach einen Punkt, um das aktuelle Projekt darzustellen.

So wechseln Sie zu einem anderen Zweig in Ihrer lokalen Arbeitsumgebung:

git checkout BRANCH_NAME

So zeigen Sie eine Liste der vorhandenen Zweige an:

git branch

oder

repo branches

Beide Befehle geben die Liste der vorhandenen Zweige mit dem Namen des aktuellen Zweigs zurück, dem ein Sternchen (*) vorangestellt ist.

Staging-Dateien

Standardmäßig bemerkt Git die Änderungen, die Sie in einem Projekt vornehmen, aber verfolgt sie nicht. Um Git zu sagen Ihre Änderungen zu erhalten, müssen Sie markieren oder diese Änderungen für die Aufnahme in eine Festschreibung der Bühne.

So ändern Sie Änderungen:

git add

Dieser Befehl akzeptiert Argumente für Dateien oder Verzeichnisse im Projektverzeichnis. Trotz des Namens git add nicht nur Dateien zum Git-Repository hinzu. Es kann auch zum Bereitstellen von Dateiänderungen und -löschungen verwendet werden.

Client-Status anzeigen

So listen Sie den Status von Dateien auf:

repo status

So zeigen Sie nicht festgeschriebene Änderungen an (lokale Änderungen, die nicht für das Festschreiben markiert sind):

repo diff

Stellen Sie zum Anzeigen festgeschriebener Änderungen (gefundene Änderungen, die für Festschreiben markiert sind ) sicher, dass Sie sich im Projektverzeichnis befinden, und führen Sie dann git diff mit dem cached Argument aus:

cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached

Änderungen vornehmen

Ein Commit ist die Grundeinheit der Revisionskontrolle in Git und besteht aus einer Momentaufnahme der Verzeichnisstruktur und des Dateiinhalts für das gesamte Projekt. So erstellen Sie ein Commit in Git:

git commit

Wenn Sie zur Eingabe einer Festschreibungsnachricht aufgefordert werden, geben Sie eine kurze (aber hilfreiche) Nachricht für Änderungen an AOSP an. Wenn Sie keine Festschreibungsnachricht hinzufügen, wird das Festschreiben abgebrochen.

Änderungen zu Gerrit hochladen

Aktualisieren Sie auf die neueste Version und laden Sie die Änderung hoch:

repo sync
repo upload

Diese Befehle geben eine Liste der von Ihnen festgeschriebenen Änderungen zurück und fordern Sie auf, die Zweige auszuwählen, die auf den Überprüfungsserver hochgeladen werden sollen. Wenn es nur einen Zweig gibt, wird eine einfache y/n Eingabeaufforderung angezeigt.

Synchronisierungskonflikte lösen

Wenn der Befehl repo sync zurückgibt:

  1. Zeigen Sie die nicht zusammengeführten Dateien an (Statuscode = U).
  2. Bearbeiten Sie die Konfliktregionen nach Bedarf.
  3. Wechseln Sie in das entsprechende Projektverzeichnis. Fügen Sie die betroffenen Dateien hinzu, schreiben Sie sie fest und führen Sie die Änderungen erneut durch:
    git add .
    git commit
    git rebase --continue
    
  4. Starten Sie nach Abschluss der Rebase die gesamte Synchronisierung erneut:
    repo sync PROJECT0 PROJECT1 ... PROJECTN
    

Kunden bereinigen

Aktualisieren Sie nach dem Zusammenführen von Änderungen an Gerrit Ihr lokales Arbeitsverzeichnis und entfernen Sie mit repo prune veraltete repo prune sicher:

repo sync
repo prune

Clients löschen

Da alle Statusinformationen in Ihrem Client gespeichert sind, müssen Sie nur das Verzeichnis aus Ihrem Dateisystem löschen:

rm -rf WORKING_DIRECTORY

Durch das dauerhafte Löschen eines Clients werden alle Änderungen gelöscht, die Sie nicht zur Überprüfung hochgeladen haben.