Android Studio und Git
Willemers Informatik-Ecke
Android Studio unterstützt die Arbeit mit einer zentralen Versionsverwaltungen (VCS), insbesondere mit Git. Im Beispiel wird Gitlab hinzugezogen, prinzipiell funktioniert es aber auch mit jedem anderen Git-Server auch.

Vor der Verbindung des Android Studios mit dem Git-Server muss ein leeres Repository angelegt werden. Dieses hat zunächst einen Branch, der bei Gitlab main heißt.

Des weiteren muss auf dem Client, also dem Computer, auf dem Android Studio läuft, auch ein Git-Client installiert sein. Unter Linux erreicht man das mit dem Befehl:

# apt install git
Mac und Windows-PCs können Git aus dem Internet installieren.

Ein Repository für ein Android Studio-Projekt

Der Einstieg in das Versionieren ist - zumindest in der Version Koala Feature Drop 2024.1.2 - etwas verwirrend. Es verändern sich die Menüs je nach Fortschritt.

Lokales Repository anlegen

Ist noch keine Git-Anbindung erfolgt, gibt es kein Menü Git, sondern ein Menü VCS. Hier finden sich die Einträge

Zentrales Repository einbinden

Im Menü Git wird nun die Konfiguration für das zentrale Repository angelegt. Git | Manage Remotes...

Der erste Pull

Es ist grundsätzlich eine gute Idee, vor der ersten Aktion den Stand des zentralen Repositories herunterzuladen. Dazu verwendet man den Menüpunkt Git | Pull...

Im darauf folgenden Dialog erscheint der Name des Repositories. Es muss der Branch gewählt werden. Mit der Tastenkombination [Strg]+[F5] können die Vorgaben aus dem zentralen Repository geholt werden.

Auswahl der Versionsdateien

Im Projektbaum können nun alle Dateien, die im Git-Repository abgelegt werden sollen, markiert und mit [Strg]+[Alt]+[A] oder über das Kontextmenü Git | Add für den Commit vorbereitet werden.

Durch den Aufruf des Commits über Git | Commit erscheint eine Box anstelle des Projekts, in dem alle Änderungen (Changes) und alle bisher unversionierten Dateien (Unversioned Files) aufgelistet werden. Hier können noch Dateien eingebunden werden.

Für den Commit wird noch eine Message benötigt, die im Kasten unter der Dateiliste eingetragen werden kann und sogar muss.

Direkt unter der Message stehen die Buttons Commit und Commit and Push.. zur Verfügung. Der Befehl Commit sorgt dafür, dass die Dateien im lokalen Repository landen. Anschließend kann mit dem Menüpunkt Git | Push der Inhalt des lokalen Repositories in das zentrale Repository abgeglichen werden.

In der untersten Leiste des Android Studios befindet sich ein Punkt Version Control. Darin findet man unter Local Changes die Unversioned Files.

  1. Die Unversioned Files mit der rechten Maustaste anklicken und Git|Add wählen. Die Dateien stehen nun unter Default.
  2. Default mit der rechten Maustaste anklicken und Git | Commit Files wählen. Ein Dialog erscheint.
  3. Das Feld Commit Message muss ausgefüllt werden.
  4. Button Commit.
Damit ist das Projekt im lokalen Git abgelegt. Nun soll es in ein Projekt im GitLab.
  1. VCS|Git|Push
  2. In dem Dialog steht im linken oberen Feld ein Link auf Define remote.
  3. Ein neuer Dialog geht auf. Als Name wird origin vorgeschlagen. Unter URL wird die URL des GitLab-Projekts eingetragen.
  4. Es erscheint ein Dialog, in dem der Benutzername und das Passwort des GitLab-Servers erfragt werden.
  5. Der Push-Dialog hat nun das remote Repository übernommen, aber noch keinen Push ausgelöst. Dies erfolgt über den Button Push.

Android Studio-Projekt aus einem Remote Git importieren

Seit der Version AndroidStudio 2.2 kann die IDE ein GitLab-Repository unter dem Menüpunkt VCS | Checkout from Version Control | Git clonen. Es erscheint dazu ein Dialog, der folgende Informationen anfragt: Wenn die Übernahme geklappt hat, stellt ein Dialog fest: "You have checked out a Studio project. ... Would you like to open it?". Dies wird mit Yes bestätigt, wozu haben wir uns sonst so herausgeputzt?

Eigene Änderungen im Repository abstellen

Nach Änderungen am Projekt müssen die geänderten Dateien mit dem Add-Befehl in den Zustand staged gebracht werden. Ist der Text im Editor des AndroidStudios, kann dies über den Menüpunkt VCS|Git|+ Add erfolgen. Einen Überblick über die gesamten Änderungen erhält man im unteren Feld Version Control: Local Changes. Dort werden alle Änderungen angezeigt. Die Übernahmekandidaten werden markiert und mit der Tastenkombination Strg+Alt+A.

Im nächsten Schritt werden alle per Add behandelten Zustände mit einem Commit VCS | Commit Changes im lokalen Git abgespeichert. Dazu wird ein Kommentar des Autors eingefordert. Darüber hinaus muss der Autor seine Kennung angeben.

Im letzten Schritt können die im lokalen Git abgespeicherten Änderungen in das zentrale GitLab mit VCS|Git|Push übernommen werden.

Stand aus GitLab übernehmen

Um den Stand des zentralen Repository aus dem GitLab zu holen, wird der Menüpunkt VCS|Update Project aufgerufen oder die Tastenkombination Strg+T gedrückt.