Einfache Versionskontrolle mit Git in Android Studio
German (Deutsch) translation by Federicco Ancie (you can also view the original English article)
Wie Sie wissen, empfiehlt es sich, immer die Quellcodeverwaltung (SCM) für Ihre Projekte zu verwenden – auch für persönliche Projekte. Wussten Sie, dass Android Studio eine erstaunliche Integration mit Git für die Quellcodeverwaltung bietet? Wenn Sie es nicht wussten oder keine Erfahrung mit der Verwendung haben, lesen Sie diesen Beitrag weiter. Auch wenn Sie die Git-Integration von Android Studio bereits verwendet haben, können Sie in diesem Beitrag noch einige nützliche Tricks aufgreifen.
Ich zeige Ihnen die vielen Funktionen der Git-Unterstützung in Android Studio und auch, wie einfach es ist, die verschiedenen Git-Operationen (Commit, Push, Pull, Branch usw.) aus Android Studio heraus auszuführen.
In diesem Tutorial werde ich Sie durch die Liste der SCM-Funktionen führen, die in Android Studio verfügbar sind. Wir werden uns die folgenden Bereiche ansehen:
- Integration eines neuen Android Studio-Projekts mit Git
- Arbeiten mit GitHub oder Bitbucket
- Versionskontrollfenster erkunden
- verpflichtet sich
- Geäst
- Pushen und Ziehen von einem Remote-Repository
Voraussetzungen
Um diesem Tutorial folgen zu können, benötigen Sie:
- ein grundlegendes Verständnis des verteilten Versionskontrollsystems Git
- Android Studio 3.0 oder höher
1. Erstellen Sie ein Android Studio-Projekt
Starten Sie Android Studio und erstellen Sie ein neues Projekt (Sie können es GitApplicationDemo
nennen) mit einer leeren Aktivität namens MainActivity
.



2. Git integrieren
Nachdem Ihr Android Studio-Projekt eingerichtet wurde, klicken Sie auf das VCS-Menü, bewegen Sie den Mauszeiger auf das Menü In Version Control importieren und wählen Sie Git-Repository erstellen...



Wählen Sie dann den obersten übergeordneten Ordner Ihres Android Studio-Projekts aus.



Klicken Sie auf die Schaltfläche OK, um das Projekt mit Git zu initialisieren. Unter der Haube führt Android Studio den Git-Befehl aus:
1 |
git init |
2 |
Zur Erinnerung: Dieser Befehl macht Folgendes:
Dieser Befehl erstellt ein leeres Git-Repository – im Grunde ein.git
-Verzeichnis mit Unterverzeichnissen fürobjects
,refs/heads
,refs/tags
und Vorlagendateien. Außerdem wird eine initialeHEAD
-Datei erstellt, die auf den HEAD des Master-Zweigs verweist.
Es öffnet sich ein Informationsdialog:



Das sagt uns über eine Datei namens vcs.xml im .idea-Ordner. Dieser Ordner enthält nur projektspezifische Einstellungen. Beachten Sie, dass dies das Format ist, das von allen neueren IntelliJ IDEA-Versionen verwendet wird.
Idealerweise sollten die Dateien in der .idea/
Git nicht erreichen – also sollten Sie sie zu .gitignore
hinzufügen.
Standardmäßig werden wir auf den Master-Zweig umgestellt. Sie können den aktuellen Zweig Ihres Projekts jederzeit in der unteren rechten Ecke von Android Studio anzeigen.



3. Integration mit GitHub oder Bitbucket
Sie können problemlos an jedem Ihrer Android-Quellcode-Repositorys arbeiten, die sich in einem GitHub- oder Bitbucket-Konto in Android Studio befinden. Lassen Sie mich Ihnen zeigen, wie das geht.
Navigieren Sie zu Datei > Neu > Projekt aus Versionskontrolle > GitHub.



(Wenn Sie an einem Repository von Bitbucket arbeiten möchten, wählen Sie stattdessen Bitbucket. Wenn Sie nur ein Git-Repository aus dem Internet auf Ihren lokalen Computer klonen möchten, wählen Sie die Git-Menüoption.)
Geben Sie als Nächstes Ihre GitHub-Kontoanmeldeinformationen ein und klicken Sie auf Anmelden.



Wenn die Anmeldung erfolgreich war, wird das Dialogfeld Clone Repository angezeigt. Dieses Dialogfeld zeigt eine Dropdown-Liste mit einer Liste der Repositorys auf GitHub an, die Sie derzeit besitzen oder an denen Sie gearbeitet haben.



Klicken Sie auf Klonen, um das Repo auf Ihren lokalen Computer im bereits ausgewählten übergeordneten Verzeichnis zu klonen.
4. Das Versionskontrollfenster
Nachdem unser Android Studio-Projekt erfolgreich mit Git gestartet wurde, zeigt Android Studio das Versionskontrollfenster an. Klicken Sie auf die Registerkarte Versionskontrolle (unten links in Android Studio) und sehen wir uns an, was wir dort haben. Beachten Sie, dass Sie Alt-9 verwenden können, um dieses Fenster schnell zu öffnen.



In diesem Fenster befinden sich drei verschiedene Registerkarten: Lokale Änderungen, Konsole und Protokoll.
Die Registerkarte Lokale Änderungen
Dies zeigt die Liste der Dateien, die lokal (auf Ihrem eigenen Computer) geändert und noch nicht in das Repository übernommen wurden.



Sehen wir uns die Elementsymbolleisten an, die verfügbar sind, wenn Sie sich auf der Registerkarte Lokale Änderungen befinden.



- Klicken Sie auf dieses Symbol, um den Status Ihrer Dateien am aktuellen Arbeitsplatz zu aktualisieren. Die Tastenkombination ist Strg-F5.
- Wenn Sie auf dieses Symbol klicken, werden Ihre aktuellen Änderungen übernommen. Die Verknüpfung lautet Strg-Alt-Z.
- Klicken Sie auf dieses Symbol, um alle ausgewählten Änderungen rückgängig zu machen.
- Klicken Sie auf dieses Symbol, um eine neue Änderungsliste zu erstellen. Beachten Sie, dass eine Änderungsliste eine Reihe von Änderungen in Dateien ist, die eine logische Änderung im Quellcode darstellen. Die Abkürzung ist Alt-Einfügen.
- Klicken Sie auf diese Schaltfläche, um die ausgewählte Änderungsliste zu löschen.
- Um eine Änderungsliste zu aktivieren, klicken Sie einfach auf dieses Symbol.
- Um eine ausgewählte Datei in eine andere Änderungsliste zu verschieben, klicken Sie auf dieses Symbol.



- Klicken Sie auf dieses Symbol, um alle Dateien anzuzeigen.
- Klicken Sie auf dieses Symbol, um alle Dateien zu reduzieren.
- Klicken Sie auf dieses Symbol, um die geänderten Dateien anzuzeigen, die nach Ordnern gruppiert sind.
- Klicken Sie auf dieses Symbol, um den Pfad zur ausgewählten Datei in die Zwischenablage des Systems zu kopieren.
- Klicken Sie auf dieses Symbol, um den Knoten für ignorierte Dateien mit der Liste der vorhandenen Dateien anzuzeigen, die von Git ignoriert wurden.
- Klicken Sie auf dieses Symbol, um die Liste der Dateien einzurichten, die von Git ignoriert werden.
- Klicken Sie auf dieses Symbol, um das Vorschau-Diff-Fenster zu öffnen, um die aktuelle Datei mit der letzten festgeschriebenen Revision zu vergleichen.
Die Registerkarte Konsole
Auf dieser Registerkarte sehen wir das Ergebnis der Ausführung von Git-bezogenen Befehlen. Beachten Sie, dass Sie auf dieser Registerkarte keine Git-Befehle schreiben können – tun Sie dies stattdessen im Terminalfenster in Android Studio.



Die Registerkarte Protokoll Log
Auf dieser Registerkarte werden alle Änderungen angezeigt, die für alle Zweige des lokalen und Remote-Repositorys festgeschrieben wurden. Auf dieser Registerkarte können Sie Commits zu jedem Branch durchsuchen.



Das Suchfeld wird verwendet, um nach Commits zu suchen, die die eingegebene Zeichenfolge oder einen regulären Ausdruck enthalten.
- Diese Dropdown-Liste wird verwendet, um Commits nach Branche zu filtern. Um alle lokalen und Remote-Commits anzuzeigen, wählen Sie einfach Alle (die Standardeinstellung).
- Verwenden Sie diese Dropdown-Liste, um Commits nach dem Autor zu filtern. Sie müssen den Namen des Autors eingeben, um seine Commits anzuzeigen. Wählen Sie Alle aus, um Commits von allen Benutzern anzuzeigen.
- Verwenden Sie dieses Dropdown-Menü, um Commits nach einem Zeitraum oder nach einem bestimmten Datum zu filtern. Um das Datum genau zu bestimmen, klicken Sie einfach auf Auswählen und wählen Sie das Datum aus. Wählen Sie Alle aus, um Commits anzuzeigen, die an allen Daten vorgenommen wurden.
- Verwenden Sie dieses Dropdown-Menü, um Commits nach dem Pfad der geänderten Dateien zu filtern.
- Diese Schaltfläche (IntelliSort) ermöglicht eine bequemere Anzeige von Merges, indem zuerst die eingehenden Commits direkt unter dem Merge-Commit angezeigt werden.
- Wenn diese Schaltfläche aktiviert ist, werden lange Branches vollständig angezeigt, auch wenn sie keine Commits enthalten.
- Verwenden Sie diese Schaltfläche, um die Liste der Commits im Projekt zu aktualisieren.
- Um zu einem Hash, Tag oder Branch zu gelangen, verwenden Sie einfach diese Schaltfläche.
- Klicken Sie auf diese Schaltfläche, um Änderungen vom ausgewählten Commit auf den aktuellen Zweig anzuwenden.
- Klicken Sie auf diese Schaltfläche, um die Commits aus dem ausgewählten Branch hervorzuheben, die noch nicht auf den aktuellen Branch angewendet wurden.
Weitere Informationen zum Fenster des Versionskontrolltools finden Sie in der IntelliJ IDEA-Dokumentation.
5. Eine Verpflichtung eingehen
Sie werden feststellen, dass beim Einrichten der Git-Integration mit unserem Android Studio-Projekt die Farbe unseres Dateinamens braun wurde. Laut der offiziellen IntelliJ IDEA-Dokumentation für Dateien mit braunen Etiketten:
Die Datei ist lokal vorhanden, befindet sich jedoch nicht im Repository und ist nicht zum Hinzufügen geplant.
Sehen wir uns nun an, wie Sie in Android Studio einen Commit durchführen. Aber zuerst müssen wir unsere Änderungen im Arbeitsverzeichnis zum Staging-Bereich hinzufügen. In der Konsole würden wir den Befehl git add
verwenden.
1 |
git add <file> || <directory> |
2 |
Aber wir können dies direkt in Android Studio tun. Wählen Sie das Dropdown-Menü Nicht versionierte Dateien auf der Registerkarte Lokale Änderungen aus, klicken Sie mit der rechten Maustaste und gehen Sie zu Git > Hinzufügen oder verwenden Sie Strg-Alt-A. Denken Sie daran, dass durch die Auswahl des Stammordners alles darin zum Staging-Bereich hinzugefügt wird.



Jetzt werden Sie feststellen, dass sich die Farben Ihrer Dateietiketten von Braun zu Grün geändert haben. Folgendes sagt die IntelliJ IDEA-Dokumentation zu Dateinamen, die grün gefärbt sind:
Die Datei ist für das Hinzufügen zum Repository geplant.
Um mehr über die verschiedenen Farben zu erfahren, die ein Dateiname je nach Dateistatus in Android Studio (IntelliJ IDEA) haben kann, lesen Sie die Dokumentation zu den Dateistatus-Highlights.
Um unsere Änderungen endgültig zu übernehmen, klicken Sie auf die Schaltfläche Änderungen übernehmen auf der Registerkarte Lokale Änderungen, und das Dialogfeld Änderungen übernehmen wird angezeigt.



- Hier können wir Dateien auswählen oder die Auswahl aufheben, die in diesem Commit enthalten sein sollen. Standardmäßig werden alle bereitgestellten Dateien überprüft.
- Schreiben Sie hier Ihre Commit-Nachricht. Wenn Sie eine zuvor geschriebene Commit-Nachricht haben, wird sie hier standardmäßig angezeigt.
- Wählen Sie die Operation(en) aus, die Sie ausführen möchten, bevor Sie sich auf Git festlegen.
- Paralleler Vergleich der geänderten Dateien.
- Mit dieser Dropdown-Schaltfläche können Sie entweder Commit und Push oder einfach Commit ausführen.
Um einen Commit durchzuführen, schreiben wir eine Commit-Nachricht:
1 |
Initial commit |
2 |
Wählen Sie Commit in der Dropdown-Liste Commit aus, um Ihre Änderungen endgültig zu bestätigen. Beachten Sie, dass Sie die Tastenkombination Strg-K verwenden können, um Änderungen jederzeit von Android Studio aus zu übernehmen.
Wenn Sie jetzt die Registerkarte Lokale Änderungen im Fenster Versionskontrolle erneut aufrufen, werden dort keine Ihrer Dateien mehr aufgeführt, da wir sie erfolgreich in unser lokales Repository übernommen haben.
Beachten Sie, dass Sie auch zu VCS > Git > Commit File... navigieren können, um einen Commit durchzuführen, und zu VCS > Git > Add, um eine Datei zum Staging hinzuzufügen. Darüber hinaus können Sie in Android Studio in der oberen Hauptsymbolleiste auf das Symbol für Commit-Änderungen klicken, um schnell einen Commit durchzuführen (oder einen Commit und Push durchzuführen).



In unserer MainActivity.kt-Klasse habe ich eine einfache Änderung in der Klasse vorgenommen, indem ich onResume()
überschrieben habe. Sie werden feststellen, dass die Farbe des Dateinamens nach der Änderung jetzt blau ist; Dies bedeutet, dass wir die Datei geändert haben.



Anzeigen des Festschreibungsprotokolls
Rufen Sie nun das Versionskontrollfenster erneut auf und wechseln Sie zur Registerkarte Log. Was Sie jetzt sehen werden, sind die Commits, die für dieses Projekt gemacht wurden. Um weitere Details zu einem Commit zu erhalten, klicken Sie einfach darauf.



- In diesem Hauptbereich werden alle Commits für das Projekt gemäß dem ausgewählten Filter angezeigt. Mit anderen Worten, dies zeigt uns die Commit-Historie.
- In diesem Bereich werden die Dateien und Ordner angezeigt, die von dem im Bereich "Commit-Verlauf" ausgewählten Commit betroffen sind.
- In diesem Bereich werden weitere Details zum ausgewählten Commit angezeigt.
Wenn Sie mit der rechten Maustaste auf einen Commit klicken, können Sie auch ein Menü sehen, in dem Sie die Revisionsnummer kopieren, einen Patch erstellen, eine Revision auschecken, von diesem Commit verzweigen, ein neues Tag erstellen und den aktuellen Branch auf diesen Commit zurücksetzen.



Sehen wir uns nun an, wie wir sehen können, welcher Code hinzugefügt, bearbeitet oder entfernt wurde. Mit anderen Worten, wir möchten die vorgenommenen Änderungen genauer überprüfen.
Klicken Sie einfach auf das Diff-Symbol über dem Fenster, in dem die vom Commit betroffenen Dateien angezeigt werden. Eine Verknüpfung besteht darin, Strg-D zu verwenden oder auf die Datei oder den Ordner zu doppelklicken.



Was Sie sehen, ist ein Dialogfeld Diff anzeigen, das die Unterschiede zwischen dem vorherigen Commit und dem ausgewählten Commit anzeigt.



Ein grün gefärbter Bereich in der Datei hebt Zeilen hervor, die der Datei hinzugefügt wurden – Sie sollten einige sehen, wenn Sie mitverfolgen. Graue Bereiche heben entfernte Linien hervor. Und Blau hebt Linien hervor, die geändert wurden. Versuchen Sie, die Filter und Symbolschaltflächen zu erkunden, die oben im Dialogfeld Vergleich anzeigen verfügbar sind, um mehr darüber zu erfahren.
Beachten Sie, dass Sie Änderungen an Bildern auch im Dialog Show Diff sehen können!
Wenn Sie mit der rechten Maustaste auf eine Datei klicken, haben Sie auch die Möglichkeit, den Unterschied zwischen dem letzten Commit und dem aktuellen Commit dieser Datei anzuzeigen – diff anzeigen (Kürzel Strg-D). Sie können auch die Quelle bearbeiten (F4), die Version im Repository öffnen, ausgewählte Änderungen rückgängig machen, den Verlauf für die Revision anzeigen und Details zum Commit für diese Datei anzeigen.



6. Erstellen eines Git-Zweigs
Der Master-Zweig ist standardmäßig aktuell. Es wird jedoch empfohlen, immer vom Master zu verzweigen und Ihre Arbeit in einem separaten, funktionsspezifischen Zweig zu erledigen. Wenn Sie mit der Codierung Ihres Features fertig sind (und Ihre Änderungen getestet haben), führen Sie Ihre Änderungen mit dem Master-Branch zusammen.
Sehen wir uns an, wie Sie einen Branch aus dem Master erstellen.
Gehen Sie in die untere rechte Ecke von Android Studio und klicken Sie auf das Dropdown-Menü Git: master.



Klicken Sie auf die Schaltfläche Neuer Zweig.



Geben Sie den Filialnamen ein. Verwenden Sie in unserem Fall dev.



Klicken Sie abschließend auf die Schaltfläche OK, damit Android Studio automatisch den dev-Zweig erstellt und auch zu diesem Zweig auscheckt.
Wir sind jetzt im dev-Zweig. Wie Sie unten sehen können:



Unter der Haube führt Android Studio den folgenden Befehl aus:
1 |
git checkout -b dev |
2 |
Beachten Sie, dass wir auch einen neuen Branch erstellen können, indem Sie zu VCS > Git > Branches > New Branch navigieren.
7. Zusammenführen von Git-Branches
Erstellen Sie im dev-Zweig einfach eine grundlegende Aktivität ProfileActivity.kt und ihre Layoutdateien und übertragen Sie Ihre Änderungen. Wir werden sehen, wie Sie direkt in Android Studio dev mit Master zusammenführen.
Gehen Sie und checken Sie vom aktuellen Zweig (dev) zum Master-Zweig aus (was bedeutet, dass wir von dev zum Master wechseln).
Zusammenführen, Auschecken, Löschen, Vergleichen, Filiale umbenennen
Wenn Sie auf einen Zweig klicken, werden Ihnen einige Operationen angezeigt, die Sie für diesen Zweig ausführen können. Die Operationen umfassen das Zusammenführen, den Vergleich zweier Zweige, das Umbenennen des Zweigs, das Rebasing, das Auschecken und das Löschen des Zweigs.



In diesem Beitrag werden wir uns ansehen, wie man einen Branch zusammenführt. Führen Sie im Master-Zweig den dev-Zweig zusammen, indem Sie zum dev-Zweig navigieren und im Menü auf Zusammenführen klicken.



Das ist es! Wir haben jetzt unseren Dev-Zweig erfolgreich mit dem Master-Zweig zusammengeführt.



Hinter den Kulissen führt Android Studio den Befehl aus:
1 |
git merge dev |
2 |
Beachten Sie, dass wir auch erweitertes Zusammenführen direkt in Android Studio durchführen können. Wir können die Merging-Strategie (Resolve, Recursive, Octopus, Ours oder Subtree) angeben oder den Fast-Forward-Merging-Modus nicht verwenden.
Um dies beim Zusammenführen einzurichten, navigieren Sie zu VCS > Git > Merge Changes...



Hier können Sie mehrere Zweige zum Zusammenführen auswählen, die Zusammenführungsstrategie auswählen und eine Festschreibungsnachricht schreiben. Es wird dringend empfohlen, dass Sie diese Zusammenführungsstrategien wirklich verstehen und ob Sie vor dem Zusammenführen den Schnellvorlaufmodus verwenden sollten.
8. Pushen zu einem Remote-Repository
Jedes Git-Projekt sollte über ein entferntes oder zentrales Repository verfügen, in dem andere Entwickler von überall auf der Welt an dem Projekt zusammenarbeiten können. In Android Studio ist es auch möglich, unsere Commits oder Änderungen an ein Remote-Repository zu übertragen. Navigieren Sie dazu zu VCS > Git > Push...



Hier können wir die Remote-Repository-URL hinzufügen, indem wir im Popup-Dialogfeld Push-Commits auf den Link Remote definieren klicken. Klicken Sie abschließend auf die Schaltfläche Push, wenn Sie fertig sind! Eine Abkürzung ist die Verwendung von Strg-Umschalt-K.
Android Studio führt im Hintergrund den folgenden Befehl aus:
1 |
git push |
2 |
Sie können auch schnell einen Commit mit einem Push durchführen, indem Sie auf das Commit-Änderungssymbol in der Hauptsymbolleiste klicken oder Strg-K verwenden.



9. Abrufen aus einem Remote-Repository
Um Ihr Projekt zu aktualisieren (um einen Pull durchzuführen) mit den neuesten Änderungen aus dem Remote-Repository (Sie sollten den Remote-Ursprung bereits hinzugefügt haben), navigieren Sie zu VCS > Git > Pull. Dadurch wird Ihr Android Studio-Projekt automatisch mit dem neuesten Code aus dem Remote-Repository aktualisiert.
Um einen Pull zu initiieren, können Sie auch auf das Symbol Projekt aktualisieren in der Hauptsymbolleiste klicken oder die Tastenkombination Strg-T verwenden.



Wenn Sie dies tun, führt Android Studio den Git-pull
-Befehl hinter den Kulissen aus:
1 |
git pull |
2 |
Beachten Sie, dass Android Studio, wenn Sie beim Ziehen oder Drücken auf einen Zusammenführungskonflikt stoßen, einen wirklich praktischen Zusammenführungskonflikt-Dialog anzeigt, der Ihnen bei der Lösung dieses Konflikts hilft.
Abschluss
In diesem Tutorial haben Sie gelernt, wie einfach es ist, verschiedene Git-Operationen auszuführen, die Sie normalerweise in der Befehlszeile oder im Terminal ausführen. Die Verwendung der Git-Tools von Android Studio macht es einfacher und effizienter, mit anderen Entwicklern an Android-Projekten zusammenzuarbeiten.
Um mehr über das Codieren für Android zu erfahren, lesen Sie einige unserer anderen Kurse und Tutorials hier auf Envato Tuts+!