Einfache Versionskontrolle mit Git in Android Studio

Wie Sie wissen, empfiehlt es sich, Source Control Management (SCM) immer für Ihre Projekte zu verwenden - auch für persönliche Projekte. Wissen Sie, dass Android Studio eine hervorragende Integration in Git für die Quellcodeverwaltung bietet? Wenn Sie nicht wussten oder keine Erfahrung damit 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 finden.

Ich zeige Ihnen die vielen Funktionen der Git-Unterstützung in Android Studio und auch, wie einfach es ist, die verschiedenen Git-Vorgänge (Festschreiben, Push, Ziehen, Verzweigen usw.) in Android Studio auszuführen. 

In diesem Lernprogramm gehe ich durch die Liste der in Android Studio verfügbaren SCM-Funktionen. Wir werden uns die folgenden Bereiche ansehen:

  • Integration eines neuen Android Studio-Projekts mit Git
  • Arbeiten mit GitHub oder Bitbucket
  • die erforschen Versionskontrolle Fenster
  • begeht
  • Geäst 
  • Drücken und Ziehen aus einem Remote-Repository

Voraussetzungen

Um diesem Tutorial folgen zu können, benötigen Sie:

  • ein grundlegendes Verständnis des verteilten Versionskontrollsystems von 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 benennen.) GitApplicationDemo) mit einer leeren Aktivität aufgerufen Hauptaktivität

2. Integrieren von Git 

Klicken Sie nach dem Einrichten Ihres Android Studio-Projekts auf VCS Menü auf der In die Versionskontrolle importieren Menü und wählen Sie Git Repository erstellen…

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

Drücke den OK Schaltfläche, um das Projekt mit Git zu initialisieren. Unter der Haube führt Android Studio den Git-Befehl aus:

git init

Zur Erinnerung: Dieser Befehl bewirkt Folgendes: 

Dieser Befehl erstellt ein leeres Git-Repository - im Grunde a .git Verzeichnis mit Unterverzeichnissen für ObjekteRefs / KöpfeRefs / Tags, und Vorlagendateien. Eine Initiale KOPF Es wird auch eine Datei erstellt, die auf den HEAD des Master-Zweigs verweist.

Ein Informationsdialogfeld wird angezeigt: 

Dies sagt uns über eine Datei namens vcs.xml in der .Idee Mappe. Dieser Ordner enthält lediglich projektspezifische Einstellungen. Beachten Sie, dass dieses Format von allen aktuellen IntelliJ IDEA-Versionen verwendet wird.

Idealerweise sind die Dateien im .Idee/ sollte nicht Git erreichen, also sollten Sie es hinzufügen .Gitignore

Standardmäßig sind wir zum Master-Zweig gewechselt. Sie können den aktuellen Zweig Ihres Projekts immer in der rechten unteren Ecke von Android Studio anzeigen. 

3. Integration mit GitHub oder Bitbucket

Sie können problemlos an jedem Android-Quellcode-Repository arbeiten, das sich in einem GitHub- oder Bitbucket-Konto in Android Studio befindet. Lass mich dir zeigen, wie das geht. 

Navigiere zu Datei> Neu> Projekt aus Versionskontrolle> GitHub

(Wenn Sie mit Bitbucket an einem Repo arbeiten möchten, wählen Sie Bit Bucket stattdessen. Wenn Sie nur ein Git-Repo aus dem Internet auf Ihren lokalen Computer kopieren möchten, wählen Sie die Option Git Menüoption.)

Geben Sie anschließend Ihre GitHub-Konto-Anmeldeinformationen ein und klicken Sie auf Anmeldung

Wenn der Login erfolgreich war, wird die Repository klonen Ein Dialog wird angezeigt. Dieses Dialogfeld zeigt eine Dropdown-Liste mit einer Liste von Repositorys auf GitHub an, die Sie derzeit besitzen oder bearbeitet haben.

Klicken Klon um das Repo auf dem lokalen Computer im bereits ausgewählten übergeordneten Verzeichnis zu klonen.  

4. Das Versionskontrollfenster

Nachdem das Android Studio-Projekt erfolgreich mit Git initiiert wurde, zeigt Android Studio die Versionskontrolle Fenster. Klicke auf das Versionskontrolle Registerkarte (links unten in Android Studio) und lassen Sie uns untersuchen, was wir dort haben. Beachten Sie, dass Sie verwenden können Alt-9 um dieses Fenster schnell zu öffnen. 

In diesem Fenster haben wir drei verschiedene Registerkarten: Lokale Änderungen, Konsole, und Log

Die lokalen Änderungen Tab

Hier wird die Liste der Dateien angezeigt, die lokal (auf Ihrem eigenen Computer) geändert wurden und noch nicht in das Repository übernommen wurden. 

Werfen wir einen Blick auf die Element-Symbolleisten, die verfügbar sind, wenn Sie sich in der Lokale Änderungen Tab.

  1. Klicken Sie auf dieses Symbol, um den Status Ihrer Dateien am aktuellen Arbeitsplatz zu aktualisieren. Die Abkürzung lautet Steuerung-F5
  2. Wenn Sie auf dieses Symbol klicken, werden Ihre aktuellen Änderungen übernommen. Die Abkürzung lautet Strg-Alt-Z.
  3. Klicken Sie auf dieses Symbol, um die ausgewählten Änderungen rückgängig zu machen. 
  4. Klicken Sie auf dieses Symbol, um eine neue Änderungsliste zu erstellen. Beachten Sie, dass eine Änderungsliste eine Gruppe von Änderungen in Dateien ist, die eine logische Änderung im Quellcode darstellen. Die Abkürzung lautet Alt-Einfügen
  5. Klicken Sie auf diese Schaltfläche, um die ausgewählte Änderungsliste zu löschen. 
  6. Um eine Änderungsliste zu aktivieren, klicken Sie einfach auf dieses Symbol. 
  7. Um eine ausgewählte Datei in eine andere Änderungsliste zu verschieben, klicken Sie auf dieses Symbol. 
  1. Klicken Sie auf dieses Symbol, um alle Dateien anzuzeigen. 
  2. Klicken Sie auf dieses Symbol, um alle Dateien auszublenden. 
  3. Klicken Sie auf dieses Symbol, um die geänderten Dateien anzuzeigen, die nach Ordnern gruppiert sind. 
  4. Klicken Sie auf dieses Symbol, um den Pfad zur ausgewählten Datei in die Zwischenablage des Systems zu kopieren. 
  5. Klicken Sie auf dieses Symbol, um den Knoten der ignorierten Dateien mit der Liste der vorhandenen Dateien anzuzeigen, die von Git ignoriert werden.
  6. Klicken Sie auf dieses Symbol, um die Liste der Dateien einzurichten, die von Git ignoriert werden. 
  7. Klicken Sie auf dieses Symbol, um das Symbol zu öffnen Vorschau Diff Fenster, um die aktuelle Datei mit der letzten festgeschriebenen Revision zu vergleichen. 

Die Konsole Tab

Auf dieser Registerkarte sehen Sie 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 von Android Studio. 

Die Registerkarte Protokoll

Auf dieser Registerkarte werden alle Änderungen angezeigt, die für alle Zweigstellen des lokalen und des entfernten Repositorys übernommen wurden. Auf dieser Registerkarte können Sie Commits für jeden Zweig durchsuchen. 


Das Suchfeld wird zur Suche nach Commits verwendet, die die eingegebene Zeichenfolge oder einen regulären Ausdruck enthalten. 

  1. Diese Dropdown-Liste dient zum Filtern von Commits nach Zweig. Um alle lokalen und Remote-Commits anzuzeigen, wählen Sie einfach aus Alles (der Standard). 
  2. Verwenden Sie diese Dropdown-Liste, um Commits nach Autor zu filtern. Sie müssen den Namen des Autors eingeben, um die Commits anzuzeigen. Wählen Alles Commits aller Benutzer anzeigen. 
  3. Verwenden Sie diese Dropdown-Liste, um Commits nach einem Zeitbereich oder nach einem bestimmten Datum zu filtern. Um genau auf das Datum einzugehen, klicken Sie einfach auf Wählen und wähle das Datum. Wählen Alles Commits zu allen Terminen anzeigen. 
  4. Verwenden Sie diese Dropdown-Liste, um Commits nach dem Pfad der geänderten Dateien zu filtern. 
  5. Diese Schaltfläche (IntelliSort) bietet eine bequemere Möglichkeit, Zusammenführungen anzuzeigen, indem zuerst die eingehenden Commits direkt unter dem Merge-Commit angezeigt werden. 
  6. Wenn diese Schaltfläche aktiviert ist, werden lange Verzweigungen vollständig angezeigt, auch wenn sie keine Commits enthalten. 
  7. Verwenden Sie diese Schaltfläche, um die Liste der Commits im Projekt zu aktualisieren. 
  8. Um zu einem Hash, Tag oder Zweig zu gelangen, verwenden Sie einfach diese Schaltfläche. 
  9. Klicken Sie auf diese Schaltfläche, um Änderungen vom ausgewählten Commit auf den aktuellen Zweig anzuwenden. 
  10. Klicken Sie auf diese Schaltfläche, um die Commits des ausgewählten Zweigs hervorzuheben, die noch nicht auf den aktuellen Zweig angewendet wurden. 

Sie können mehr über das lernen Versionskontrolle Werkzeugfenster in der IntelliJ IDEA-Dokumentation. 

5. Ein Commit machen

Wenn Sie die Git-Integration mit unserem Android Studio-Projekt einrichten, wird die Farbe unseres Dateinamens braun. 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. 

Lassen Sie uns nun sehen, wie Sie in Android Studio ein Commit ausführen. Zunächst müssen wir jedoch unsere Änderungen im Arbeitsverzeichnis zum Staging-Bereich hinzufügen. In der Konsole würden wir die verwenden git add Befehl. 

git add  || 

Aber wir können dies direkt aus Android Studio heraus tun. Wähle aus Nicht versionierte Dateien Dropdown in der Lokale Änderungen Tab, Rechtsklick und gehe zu Git> Hinzufügen oder verwenden Strg-Alt-A. Denken Sie daran, dass durch die Auswahl des Stammordners alles darin zum Staging-Bereich hinzugefügt wird. 

Nun werden Sie feststellen, dass sich die Farben Ihrer Datei von braun nach grün geändert haben. Die IntelliJ IDEA-Dokumentation sagt Folgendes über grün gefärbte Dateinamen aus: 

Die Datei soll dem Repository hinzugefügt werden. 

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 zum Dateistatus. 

Um die Änderungen endgültig zu bestätigen, klicken Sie auf die Schaltfläche Änderungen übernehmen Lokale Änderungen Tab und die Änderungen übernehmen Ein Dialog wird angezeigt. 

  1. Hier können wir Dateien auswählen oder abwählen, die in dieses Commit aufgenommen werden sollen. Standardmäßig werden alle bereitgestellten Dateien geprüft. 
  2. Schreiben Sie hier Ihre Commit-Nachricht. Wenn Sie bereits eine Commit-Nachricht geschrieben haben, wird diese hier standardmäßig angezeigt. 
  3. Wählen Sie die auszuführenden Operationen aus, bevor Sie sich für Git entscheiden. 
  4. Vergleich der geänderten Dateien nebeneinander. 
  5. Mit diesem Dropdown-Button können Sie entweder Commit and Push oder Commit ausführen. 

Um ein Commit zu machen, schreiben wir eine Commit-Nachricht:

Initial Commit 

Wählen Verpflichten in dem Verpflichten Dropdown, um Ihre Änderungen endgültig zu übernehmen. Beachten Sie, dass Sie die Verknüpfung verwenden können Control-K Änderungen können jederzeit von Android Studio übernommen werden. 

Wenn Sie jetzt das wieder besuchen Lokale Änderungen Tab in der Versionskontrolle In diesem Fenster sehen Sie keine Ihrer Dateien mehr, da wir sie erfolgreich in unser lokales Repo übertragen haben. 

Beachten Sie, dass Sie auch zu navigieren können VCS> Git> Commit File…  sich verpflichten und VCS> Git> Hinzufügen um eine Datei für das Staging hinzuzufügen. Darüber hinaus können Sie in Android Studio in der oberen oberen Symbolleiste auf das Symbol zum Festschreiben der Änderungen klicken, um schnell eine Festschreibung (oder Festschreibung und Push) durchzuführen.. 

In unserer MainActivity.kt Klasse, ich habe eine einfache Änderung in der Klasse durch Überschreiben vorgenommen auf Wiederaufnahme(). 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 Commit-Protokolls

Jetzt besuche die Versionskontrolle Fenster noch einmal und gehen Sie zum Log Tab. 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. 

  1. In diesem Hauptbereich werden alle Commits des Projekts entsprechend dem ausgewählten Filter angezeigt. Mit anderen Worten, dies zeigt uns die Commit-Geschichte. 
  2. In diesem Bereich werden die Dateien und Ordner angezeigt, die von der im Commit-Verlaufsbereich ausgewählten Festschreibung betroffen sind. 
  3. In diesem Bereich werden weitere Details zum ausgewählten Commit angezeigt. 

Wenn Sie mit der rechten Maustaste auf ein Commit klicken, können Sie auch ein Menü anzeigen, in dem Sie die Revisionsnummer kopieren, ein Patch erstellen, eine Revision auschecken, von diesem Commit aus verzweigen, ein neues Tag erstellen und den aktuellen Zweig auf dieses Commit zurücksetzen können. 

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 einchecken. 

Klicken Sie einfach auf das Show Diff-Symbol über dem Fenster, in dem die von der Festschreibung betroffenen Dateien angezeigt werden. Eine Verknüpfung ist zu verwenden Steuerung-D oder zum Doppelklicken auf die Datei oder den Ordner. 

Was Sie sehen werden, ist ein Zeige Diff Dialog, der die Unterschiede zwischen dem vorherigen Commit und dem ausgewählten Commit zeigt. 

Ein grüner Bereich in der Datei hebt die Zeilen hervor, die der Datei hinzugefügt wurden. Sie sollten einige sehen, wenn Sie mitgehen. Graue Bereiche markieren Linien, die entfernt wurden. Und blau markiert Linien, die geändert wurden. Versuchen Sie, die Filter- und Symbolschaltflächen zu erkunden, die oben im Fenster verfügbar sind Zeige Diff um mehr darüber zu erfahren. 

Beachten Sie, dass Sie auch Änderungen an Bildern im sehen können Zeige Diff Dialog!

Wenn Sie mit der rechten Maustaste auf eine Datei klicken, können Sie auch den Unterschied zwischen dem letzten Commit und dem aktuellen Commit dieser Datei anzeigen (diff) Steuerung-D). Sie können auch die Quelle bearbeiten (F4), öffnen Sie die Version im Repository, setzen Sie die ausgewählten Änderungen zurück, zeigen Sie den Verlauf der Revision an und zeigen Sie Details zum Commit für diese Datei an.

6. Erstellen eines Git-Zweigs

Der Hauptzweig ist standardmäßig aktuell. Es wird jedoch empfohlen, immer vom Master abzweigen und Ihre Arbeit in einem separaten, funktionsspezifischen Zweig durchzuführen. Wenn Sie mit der Codierung Ihres Features fertig sind (und Ihre Änderungen getestet haben), führen Sie Ihre Änderungen dann in den Hauptzweig ein. 

Mal sehen, wie man aus dem Master einen Zweig erstellt. 

Gehen Sie in die rechte untere Ecke von Android Studio und klicken Sie auf Git: Meister Dropdown-Menü. 

Klicke auf das Neue Abteilung Taste. 

Geben Sie den Filialnamen ein. In unserem Fall verwenden dev

Zum Schluss klicken Sie auf OK Taste für Android Studio zur automatischen Erstellung der devZweig und auch Kasse zu diesem Zweig. 

Wir befinden uns derzeit im devAst. Wie du unten sehen kannst:

Unter der Haube führt Android Studio den Befehl aus:

 git checkout -b dev

Beachten Sie, dass wir auch einen neuen Zweig erstellen können, indem Sie zu navigieren VCS> Git> Branches> Neuer Zweig

7. Zusammenfügen von Git-Zweigen

In der dev Zweig, erstellen Sie einfach eine grundlegende Aktivität ProfileActivity.kt und seine Layout-Dateien und bestätigen Sie Ihre Änderungen. Wir werden sehen, wie wir zusammenführen devdirekt in Android Studio zu meistern. 

Gehen Sie zur aktuellen Filiale (dev) zum Hauptzweig (dh wir wechseln von devzum Meister). 

Zusammenführen, Auschecken, Löschen, Vergleichen, Umbenennen

Wenn Sie auf einen Zweig klicken, werden einige Vorgänge angezeigt, die Sie für diesen Zweig ausführen können. Zu den Vorgängen gehören Zusammenführen, Vergleichen von zwei Zweigen, Umbenennen des Zweigs, Umbasieren, Auschecken und Löschen des Zweigs. 

In diesem Beitrag werden wir untersuchen, wie ein Zweig zusammengefügt wird. Fügen Sie im Master-Zweig das zusammen dev Verzweigen Sie durch Navigieren zu dev verzweigen und klicken Verschmelzen im menü. 

Das ist es! Wir haben jetzt unsere Entwicklungsabteilung erfolgreich mit der Hauptabteilung zusammengeführt. 

Hinter den Kulissen führt Android Studio den Befehl aus:

git merge dev

Beachten Sie, dass wir auch direkt in Android Studio fortgeschrittenes Mischen durchführen können. Wir können die Mischstrategie festlegen (Auflösen, Rekursiv, Octopus, Ours oder Subtree) oder den Schnellvorlauf-Mischmodus nicht verwenden. 

Um dies beim Zusammenführen festzulegen, navigieren Sie zu VCS> Git> Änderungen zusammenführen…

Hier können Sie mehrere Zweige zum Zusammenführen auswählen, die Zusammenführungsstrategie auswählen und eine Festschreibungsnachricht schreiben. Es wird dringend empfohlen, diese Zusammenführungsstrategien wirklich zu verstehen und vor dem Zusammenführen den Schnellvorlauf zu verwenden. 

8. Push an ein 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 in ein Remote-Repository zu verschieben. Navigieren Sie dazu zu VCS> Git> Push…  

Hier können wir die Remote-Repository-URL hinzufügen, indem Sie auf klicken Fernbedienung definieren Link in der Push-Commits ein Dialog, der erscheint. Zum Schluss klicken Sie auf die drücken Knopf, wenn Sie fertig sind! Eine Verknüpfung ist zu verwenden Control-Shift-K

Android Studio führt den folgenden Befehl im Hintergrund aus:

git Push

Sie können auch mit einem Push schnell ein Commit ausführen, indem Sie in der Hauptsymbolleiste auf das Symbol zum Bestätigen der Commits klicken oder die Schaltfläche verwenden Control-K

9. Ziehen Sie aus einem Remote-Repository

Um Ihr Projekt mit den neuesten Änderungen aus dem Remote-Repository zu aktualisieren (um einen Pull durchzuführen) (Sie sollten bereits den Remote-Ursprung 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 zum Aktualisieren des Projekts in der Hauptsymbolleiste klicken oder das Symbol verwenden Control-T Abkürzung. 

In diesem Fall führt Android Studio den Git aus ziehen Befehl hinter den Kulissen:

git ziehen 

Wenn Sie beim Ziehen oder Drücken auf einen Zusammenführungskonflikt stoßen, zeigt Android Studio ein wirklich praktisches Dialogfeld zum Zusammenführen von Zusammenführungsproblemen, das Ihnen bei der Lösung dieses Konflikts hilft. 

Fazit

In diesem Lernprogramm haben Sie erfahren, wie einfach es ist, verschiedene Git-Vorgänge auszuführen, die Sie normalerweise in der Befehlszeile oder im Terminal ausführen. Mit den Git-Tools von Android Studio ist es einfacher und effizienter, mit anderen Entwicklern an Android-Projekten zusammenzuarbeiten. 

Weitere Informationen zum Codieren für Android finden Sie in Envato Tuts. Hier finden Sie einige unserer anderen Kurse und Tutorials+!