Zoals je weet, is het een goede gewoonte om altijd bronbeheer (SCM) te gebruiken voor je projecten, zelfs voor persoonlijke projecten. Weet u dat Android Studio een geweldige integratie heeft met Git voor het beheer van broncode? Als u het niet wist of geen ervaring heeft met het gebruik ervan, lees dan verder in deze post. Zelfs als je al gebruik hebt gemaakt van Android Studio’s Git integratie, kun je nog steeds een aantal handige trucs oppikken in deze post.
Ik zal je de vele functies van Git ondersteuning in Android Studio laten zien en ook hoe gemakkelijk het is om de verschillende Git operaties (commit, push, pull, branch, etc.) vanuit Android Studio te doen.
In deze tutorial loop ik met je door de lijst van SCM functies die beschikbaar zijn in Android Studio. We kijken naar de volgende gebieden:
- integreren van een nieuw Android Studio project met Git
- werken met GitHub of Bitbucket
- uitleg over het Version Control venster
- commits
- branches
- pushen en pullen van een remote repository
- Voorwaardes
- 1. Maak een Android Studio Project
- 2. Git integreren
- 3. Integreren met GitHub of Bitbucket
- 4. Het Version Control venster
- Het tabblad Lokale wijzigingen
- Het Console Tab
- Het Log Tabblad
- 5. Een Commit maken
- Bekijken van het vastleggingslog
- 6. Een Git Branch aanmaken
- 7. Git Branches Samenvoegen
- Samenvoegen, uitchecken, verwijderen, vergelijken, hernoemen
- 8. Pushen naar een Remote Repository
- 9. Pullen van een Remote Repository
- Conclusie
Voorwaardes
Om deze tutorial te kunnen volgen, heb je nodig:
- een basiskennis van het gedistribueerde versiecontrolesysteem Git
- Android Studio 3.0 of hoger
1. Maak een Android Studio Project
Start Android Studio op en maak een nieuw project (u kunt het GitApplicationDemo
noemen) met een lege activiteit genaamd MainActivity
.
2. Git integreren
Nadat uw Android Studio-project is opgezet, klikt u op het VCS-menu, gaat u met de muis over het menu Import into Version Control en selecteert u Create Git Repository…
Selecteer vervolgens de bovenste bovenliggende map van uw Android Studio-project.
Klik op de knop OK om het project met Git te initialiseren. Onder de motorkap voert Android Studio het Git-commando uit:
git init
Als geheugensteuntje, dit is wat dit commando zal doen:
Dit commando creëert een lege Git repository-basically een
.git
directory met submappen voorobjects
,refs/heads
,refs/tags
, en sjabloon bestanden. Een initieelHEAD
bestand dat verwijst naar de HEAD van de master branch wordt ook aangemaakt.
Een informatie dialoog zal verschijnen:
Dit vertelt ons over een bestand met de naam vcs.xml in de .idea map. Deze map bevat alleen project-specifieke instellingen. Merk op dat dit het formaat is dat door alle recente IntelliJ IDEA versies wordt gebruikt.
In principe zouden de bestanden in de .idea/
Git niet moeten bereiken – dus moet je het toevoegen aan .gitignore
.
Zorgelijk worden we naar de master branch geschakeld. Je kunt altijd de huidige branch van je project zien in de rechterbenedenhoek van Android Studio.
3. Integreren met GitHub of Bitbucket
U kunt gemakkelijk werken aan elk van uw Android broncode repository die in een GitHub of Bitbucket account in Android Studio. Ik zal je laten zien hoe je dat moet doen.
Navigeer naar Bestand > Nieuw > Project van Versiebeheer > GitHub.
(Als u aan een repo van Bitbucket wilt werken, selecteert u Bitbucket in plaats daarvan. Als u alleen een Git-repo van internet naar uw lokale machine wilt klonen, selecteert u de menuoptie Git.)
Volgende, voer uw GitHub-accountgegevens in en klik op Aanmelden.
Als het inloggen is gelukt, verschijnt het dialoogvenster Clone Repository. Dit dialoogvenster toont een drop-down met een lijst van repositories op GitHub die je momenteel bezit of waaraan je hebt gewerkt.
Klik op Klonen om de repo naar je lokale machine te klonen binnen de reeds geselecteerde bovenliggende map.
4. Het Version Control venster
Na het succesvol initiëren van ons Android Studio project met Git, zal Android Studio het Version Control venster tonen. Klik op de Version Control tab (aan de onderkant-links van Android Studio) en laten we eens kijken wat we daar hebben. Merk op dat je Alt-9 kunt gebruiken om dit venster snel te openen.
In dit venster hebben we drie verschillende tabbladen: Lokale wijzigingen, Console en Logboek.
Het tabblad Lokale wijzigingen
Dit toont de lijst met bestanden die lokaal (op je eigen machine) zijn gewijzigd en nog niet zijn vastgelegd in het archief.
Laten we eens kijken naar de item werkbalken die beschikbaar zijn wanneer je in de Lokale wijzigingen tab bent.
- Klik op dit icoon om de status van je bestanden op de huidige werkplek te verversen. De sneltoets is Control-F5.
- Als u op dit pictogram klikt, worden uw huidige wijzigingen vastgelegd. De snelkoppeling is Control-Alt-Z.
- Klik op dit pictogram om alle geselecteerde wijzigingen terug te draaien.
- Klik op dit icoon om een nieuwe werkset aan te maken. Merk op dat een werkset een verzameling wijzigingen in bestanden is die een logische wijziging in de broncode vertegenwoordigt. De snelkoppeling is Alt-Insert.
- Klik op deze knop om de geselecteerde werkset te verwijderen.
- Om een werkset actief te maken, klikt u op dit pictogram.
- Om een geselecteerd bestand naar een andere wijzigingslijst te verplaatsen, klikt u op dit pictogram.
- Klik op dit pictogram om uit te breiden en alle bestanden weer te geven.
- Klik op dit pictogram om alle bestanden in te klappen.
- Klik op dit pictogram om de gewijzigde bestanden weer te geven die per map zijn gegroepeerd.
- Klik op dit pictogram om het pad naar het geselecteerde bestand naar het klembord van het systeem te kopiëren.
- Klik op dit icoon om de genegeerde bestanden node te tonen met de lijst van bestaande bestanden die genegeerd worden door Git.
- Klik op dit icoon om de lijst van bestanden die genegeerd zullen worden door Git in te stellen.
- Klik op dit icoon om het Preview Diff venster te openen om het huidige bestand te vergelijken met de laatste gecommitteerde revisie.
Het Console Tab
In dit tabblad zien we het resultaat van het uitvoeren van Git-gerelateerde commando’s. Merk op dat je geen Git commando’s kunt schrijven in deze tab – doe dat in de terminal in Android Studio.
Het Log Tabblad
Dit tabblad laat alle veranderingen zien die zijn gecommit in alle takken van het lokale en remote repository. In dit tabblad kun je door de vastleggingen op elke tak bladeren.
Het zoekvak wordt gebruikt om te zoeken naar commits die de ingevoerde string of een reguliere expressie hebben.
- Deze vervolgkeuzelijst wordt gebruikt om commits op tak te filteren. Om alle lokale en externe commits te zien, selecteert u Alles (de standaard).
- Om commits te filteren op de auteur, gebruik je deze vervolgkeuzelijst. Je moet de naam van de auteur intypen om hun commits te zien. Selecteer Alles om de commits van alle gebruikers te bekijken.
- Gebruik deze vervolgkeuzelijst om commits te filteren op een tijdsbereik of op een specifieke datum. Om een specifieke datum te kiezen, klik je op Selecteer en kies je de datum. Selecteer Alles om commits te zien die op alle data zijn gemaakt.
- Gebruik deze dropdown om commits te filteren op het pad van de gewijzigde bestanden.
- Deze knop (IntelliSort) geeft een handigere manier om samenvoegingen te zien, door eerst de binnenkomende commits te laten zien, direct onder de samenvoeg commit.
- Als deze knop is ingeschakeld, worden lange takken volledig weergegeven, zelfs als er geen commits in zitten.
- Gebruik deze knop om de lijst met commits in het project te verversen.
- Om naar een hash, tag, of tak te gaan, gebruikt u deze knop.
- Klik op deze knop om wijzigingen van de geselecteerde commit toe te passen op de huidige branch.
- Klik op deze knop om de commits van de geselecteerde tak te markeren die nog niet op de huidige tak zijn toegepast.
U kunt meer leren over het Version Control tool venster in de IntelliJ IDEA documentatie.
5. Een Commit maken
Je zult merken dat toen we de Git integratie met ons Android Studio project instelden, de kleur van onze bestandsnaam bruin werd. Volgens de officiële IntelliJ IDEA documentatie, voor bestanden met bruine labels:
Bestand bestaat lokaal, maar is niet in het archief, en is niet gepland om toegevoegd te worden.
Laten we nu eens kijken hoe we een commit kunnen maken in Android Studio. Maar eerst, moeten we onze wijzigingen in de werkmap toevoegen aan het staging gebied. In de console, zouden we het git add
commando gebruiken.
git add <file> || <directory>
Maar we kunnen dit ook direct vanuit Android Studio doen. Selecteer de Unversioned Files drop-down in de Local Changes tab, rechts-klik en ga naar Git > Toevoegen of gebruik Control-Alt-A. Onthoud dat het selecteren van de hoofdmap alles daarin zal toevoegen aan het staging gebied.
Nu zult u zien dat de kleuren van de bestandslabels veranderd zijn van bruin naar groen. Dit is wat de IntelliJ IDEA documentatie zegt over bestandsnamen die groen gekleurd zijn:
Bestand staat gepland voor toevoeging aan het archief.
Om meer te weten te komen over de verschillende kleuren die een bestandsnaam kan hebben, afhankelijk van de bestandsstatus in Android Studio (IntelliJ IDEA), raadpleegt u de documentatie over de bestandsstatus-highlights.
Om eindelijk onze wijzigingen vast te leggen, klikt u op de knop Wijzigingen vastleggen in het tabblad Lokale wijzigingen, en het dialoogvenster Wijzigingen vastleggen verschijnt.
- Hier kunnen we bestanden selecteren of deselecteren die in deze vastlegging moeten worden opgenomen. Standaard zijn alle ge-stagede bestanden aangevinkt.
- Schrijf hier je commit boodschap in. Als je een eerder geschreven commit boodschap hebt, dan zal die hier als standaard getoond worden.
- Selecteer operatie(s) om uit te voeren voordat je naar Git commit.
- Zij-aan-zij vergelijking van de gewijzigde bestanden.
- Met deze dropdown knop, kun je of committen en pushen of alleen committen.
Dus om een commit te maken, laten we een commit bericht schrijven:
Initial commit
Selecteer Commit in de Commit drop-down om je wijzigingen definitief vast te leggen. Merk op dat u de sneltoets Control-K kunt gebruiken om wijzigingen op elk moment vast te leggen vanuit Android Studio.
Als je nu het tabblad Local Changes in het Version Control venster opnieuw bekijkt, zul je geen van je bestanden daar meer zien staan-omdat we ze succesvol hebben gecommit naar onze lokale repo.
Merk op dat je ook kunt navigeren naar VCS > Git > Commit File… om een commit te doen en VCS > Git > Add om een bestand voor staging toe te voegen. Daarnaast kun je klikken op het commit wijzigingen icoon in de hoofd werkbalk bovenaan in Android Studio om snel een commit te maken (of commit en push).
In onze klasse MainActivity.kt heb ik een eenvoudige wijziging in de klasse aangebracht door onResume()
te overriden. U zult zien dat de kleur van de bestandsnaam na de wijziging nu blauw is; dit betekent dat we het bestand hebben gewijzigd.
Bekijken van het vastleggingslog
Nu gaat u opnieuw naar het venster Versiebeheer en gaat u naar het tabblad Log. Wat je nu zult zien zijn de commits die in dit project zijn gemaakt. Om meer details over een commit te krijgen, hoef je er alleen maar op te klikken.
- Dit hoofdvenster toont alle vastleggingen voor het project op basis van het geselecteerde filter. Met andere woorden, dit laat ons de commit geschiedenis zien.
- Dit deelvenster toont de bestanden en mappen die beïnvloed zijn door de commit die geselecteerd is in het deelvenster commits geschiedenis.
- Dit deelvenster toont meer details over de geselecteerde commit.
Door rechts te klikken op een vastlegging, kun je ook een menu zien waarmee je het revisienummer kunt kopiëren, een patch kunt maken, een revisie kunt uitchecken, van die vastlegging kunt branchen, een nieuwe markering kunt maken, en de huidige branch terug kunt zetten naar die vastlegging.
Laten we nu eens kijken hoe we kunnen zien welke code er toegevoegd, gewijzigd of verwijderd is. Met andere woorden, we willen in meer detail bekijken welke wijzigingen er zijn aangebracht.
Klik gewoon op het Toon diff icoon boven het venster waar de bestanden die door de commit beïnvloed zijn getoond worden. Een snelkoppeling is om Control-D te gebruiken of om te dubbelklikken op het bestand of de map.
Wat je dan te zien krijgt is een Toon Verschil dialoog, die de verschillen laat zien tussen de vorige commit en de geselecteerde commit.
Een groen gekleurd gebied in het bestand markeert regels die aan het bestand zijn toegevoegd-je zou er een paar moeten zien als je het goed volgt. Grijze gebieden markeren lijnen die zijn verwijderd. En blauw markeert lijnen die zijn gewijzigd. Probeer de filters en de pictogramknoppen te verkennen die beschikbaar zijn bovenin het Toon verschil dialoogvenster om er meer over te leren.
Merk op dat je ook wijzigingen in afbeeldingen kunt zien in de Toon Verschil dialoog!
Door rechts te klikken op een bestand, heb je ook de optie om het verschil te zien tussen de laatste commit en de huidige commit van dat bestand – Toon verschil (sneltoets Control-D). Je kunt ook de broncode bewerken (F4), de versie in het archief openen, geselecteerde wijzigingen terugdraaien, geschiedenis voor de revisie laten zien, en de details van de vastlegging voor dat bestand laten zien.
6. Een Git Branch aanmaken
De master branch zal standaard de huidige zijn. Het is echter aan te raden om altijd van de master te branchen en je werk op een aparte, feature-specifieke branch te doen. Als je klaar bent met het coderen van je functie (en als je je wijzigingen getest hebt), dan voeg je je wijzigingen samen in de master branch.
Laten we eens kijken hoe je een branch van de master maakt.
Ga naar de rechterbenedenhoek van Android Studio en klik op het Git: master drop-down menu.
Klik op de knop Nieuwe tak.
Voer de naam van de tak in. In ons geval, gebruik dev.
Klik ten slotte op de knop OK zodat Android Studio automatisch de tak dev aanmaakt en ook de checkout naar die tak uitvoert.
We zitten nu in de dev branch. Zoals u hieronder kunt zien:
Onder de motorkap voert Android Studio het commando uit:
git checkout -b dev
Noteer dat we ook een nieuwe branch kunnen aanmaken door te navigeren naar VCS > Git > Branches > Nieuwe branch.
7. Git Branches Samenvoegen
In de dev branch, maak je gewoon een basis activiteit ProfileActivity.kt en de layout bestanden en commit je wijzigingen. We gaan zien hoe we dev naar master kunnen samenvoegen binnen Android Studio.
Ga en check out van de huidige branch (dev) naar de master branch (dat betekend dat we van dev naar de master gaan).
Samenvoegen, uitchecken, verwijderen, vergelijken, hernoemen
Als je op een tak klikt, krijg je een aantal operaties te zien die je op die tak kunt uitvoeren. De operaties omvatten samenvoegen, twee takken vergelijken, de tak hernoemen, rebasen, uitchecken, en de tak verwijderen.
We gaan in dit artikel kijken naar hoe je een branch samenvoegt. In de master branch, voeg de dev branch samen door naar de dev branch te navigeren en op Samenvoegen te klikken in het menu.
Dat is het! We hebben nu succesvol onze dev branch naar de master branch samengevoegd.
Achter de schermen voert Android Studio het commando uit:
git merge dev
Merk op dat we ook geavanceerde samenvoegingen kunnen doen binnen Android Studio. We zijn in staat om de samenvoeging strategie (Resolve, Recursieve, Octopus, Ours, of Subtree) te specificeren of niet om de fast-forward samenvoeging modus te gebruiken.
Om dit in te stellen bij het samenvoegen, navigeer je naar VCS > Git >Wijzigingen samenvoegen…
Hier kun je meerdere takken selecteren om samen te voegen, de samenvoeg strategie selecteren, en een commit bericht schrijven. Het is sterk aan te raden dat je deze samenvoegstrategieën goed begrijpt en of je de fast forward modus moet gebruiken voordat je gaat samenvoegen.
8. Pushen naar een Remote Repository
Elk Git project zou een remote of centrale repository moeten hebben waar andere ontwikkelaars aan het project kunnen meewerken vanaf elke plek in de wereld. In Android Studio, is het ook mogelijk om onze commits of wijzigingen naar een remote repository te pushen. Om dat te doen, navigeer je naar VCS > Git > Push…
Hier kunnen we de URL van de externe repository toevoegen door te klikken op de Definieer externe link in de Push Commits dialoog die tevoorschijn komt. Klik tenslotte op de Push knop als je klaar bent! Een snelkoppeling is om Control-Shift-K te gebruiken.
Android Studio voert achter de schermen het volgende commando uit:
git push
Je kunt ook snel een commit maken met een push door te klikken op het commit wijzigingen icoon in de hoofdwerkbalk of door Control-K te gebruiken.
9. Pullen van een Remote Repository
Om je project te updaten (om een pull te maken) met de laatste wijzigingen van de remote repository (je zou de remote origin al toegevoegd moeten hebben), navigeer je naar VCS > Git > Pull. Dit zal automatisch je Android Studio project updaten met de meest recente code uit de remote repository.
Om een pull te starten, kun je ook klikken op het update project icoon in de hoofd werkbalk of de Control-T snelkoppeling gebruiken.
Als je dit doet, zal Android Studio het Git pull
commando achter de schermen uitvoeren:
git pull
Merk op dat als je een samenvoeg conflict tegenkomt tijdens het trekken of duwen, Android Studio een heel handig samenvoeg conflict dialoogvenster zal tonen die je zal helpen om dat conflict op te lossen.
Conclusie
In deze tutorial heb je geleerd hoe makkelijk het is om verschillende Git operaties uit te voeren die je normaal gesproken op de command line of in de terminal zou doen. Het gebruik van Android Studio’s Git tools maakt het makkelijker en efficiënter om samen te werken aan Android projecten met andere ontwikkelaars.
Om meer te leren over coderen voor Android, bekijk dan een aantal van onze andere cursussen en tutorials hier op Envato Tuts+!
-
AndroidTonen van Material Design-dialogen in een Android-appChike Mgbemena
-
AndroidMaak een Material Design Tabbed Interface in een Android AppChike Mgbemena
-
AndroidBouw een Muziek App met een Android App TemplateChike Mgbemena