După cum știți, este cea mai bună practică să folosiți întotdeauna managementul controlului sursei (SCM) pentru proiectele dumneavoastră – chiar și pentru proiectele personale. Știați că Android Studio are o integrare uimitoare cu Git pentru gestionarea controlului sursei? Dacă nu știați sau nu aveți experiență în utilizarea acestuia, atunci continuați să citiți această postare. Chiar dacă ați folosit deja integrarea Git a Android Studio, s-ar putea să mai prindeți câteva trucuri utile în această postare.
Voi arăta numeroasele caracteristici ale suportului Git în Android Studio și, de asemenea, cât de ușor este să efectuați diferitele operații Git (commit, push, pull, branch, etc.) din interiorul Android Studio.
În acest tutorial, vă voi prezenta lista de caracteristici SCM care sunt disponibile în Android Studio. Ne vom uita la următoarele domenii:
- integrarea unui nou proiect Android Studio cu Git
- lucrul cu GitHub sau Bitbucket
- explorarea ferestrei de control al versiunilor
- commits
- branches
- pushing and pulling from a remote repository
.
- Precondiții
- 1. Creați un proiect Android Studio
- 2. Integrarea Git
- 3. Integrarea cu GitHub sau Bitbucket
- 4. Fereastra de control al versiunii
- Fila Modificări locale
- Fila Console
- Fila Log
- 5. Efectuarea unui Commit
- Vizualizarea jurnalului de confirmare
- 6. Crearea unei ramuri Git
- 7. Fuzionarea ramurilor Git
- Merge, Checkout, Delete, Compare, Rename Branch
- 8. Pushing to a Remote Repository
- 9. Extragerea dintr-un depozit la distanță
- Concluzie
Precondiții
Pentru a putea urma acest tutorial, veți avea nevoie de:
- o înțelegere de bază a sistemului de control distribuit al versiunilor Git
- Android Studio 3.0 sau o versiune mai recentă
1. Creați un proiect Android Studio
Porniți Android Studio și creați un nou proiect (îl puteți numi GitApplicationDemo
) cu o activitate goală numită MainActivity
.
2. Integrarea Git
După ce proiectul Android Studio a fost configurat, faceți clic pe meniul VCS, treceți peste meniul Import into Version Control și selectați Create Git Repository…
Apoi selectați folderul părinte superior al proiectului Android Studio.
Click pe butonul OK pentru a inițializa proiectul cu Git. Sub capotă, Android Studio execută comanda Git:
git init
Ca un memento, iată ce va face această comandă:
Această comandă creează un depozit Git gol – practic un director
.git
cu subdirectoare pentruobjects
,refs/heads
,refs/tags
și fișiere șablon. Se creează, de asemenea, un fișier inițialHEAD
care face referire la HEAD al ramurii master.
Se va deschide un dialog de informații:
Acest lucru ne spune despre un fișier numit vcs.xml din interiorul folderului .idea. Acest dosar conține doar setările specifice proiectului. Rețineți că acesta este formatul utilizat de toate versiunile recente ale IntelliJ IDEA.
În mod normal, fișierele din .idea/
nu ar trebui să ajungă la Git – deci ar trebui să le adăugați la .gitignore
.
În mod implicit, suntem trecuți la ramura master. Puteți vizualiza întotdeauna ramura curentă a proiectului dvs. în colțul din dreapta jos din Android Studio.
3. Integrarea cu GitHub sau Bitbucket
Puteți lucra cu ușurință în Android Studio la oricare dintre depozitele de cod sursă Android care se află într-un cont GitHub sau Bitbucket. Permiteți-mi să vă arăt cum să faceți acest lucru.
Navigați la File > New > Project from Version Control > GitHub.
(Dacă doriți să lucrați la un repo din Bitbucket, selectați în schimb Bitbucket. Dacă doriți doar să clonați un repo Git de pe internet în mașina dvs. locală, selectați opțiunea de meniu Git.)
În continuare, introduceți acreditările contului dvs. GitHub și faceți clic pe Login.
Dacă autentificarea a avut succes, va apărea dialogul Clone Repository. Această fereastră de dialog afișează o listă derulantă care conține o listă de depozite de pe GitHub pe care le dețineți în prezent sau la care ați lucrat.
Clic pe Clone pentru a clona depozitul pe calculatorul dvs. local în interiorul directorului părinte deja selectat.
4. Fereastra de control al versiunii
După inițierea cu succes a proiectului nostru Android Studio cu Git, Android Studio va afișa fereastra de control al versiunii. Faceți clic pe fila Version Control (în partea de jos-stânga a Android Studio) și haideți să explorăm ce avem acolo. Rețineți că puteți utiliza Alt-9 pentru a deschide rapid această fereastră.
În interiorul acestei ferestre, avem trei file diferite: Modificări locale, Consolă și Jurnal.
Fila Modificări locale
Aceasta arată lista fișierelor care au fost modificate local (pe propria mașină) și care nu au fost încă confirmate în depozit.
Să aruncăm o privire la barele de instrumente ale elementelor disponibile atunci când vă aflați în fila Modificări locale.
- Click pe această pictogramă pentru a reîmprospăta starea fișierelor dvs. în locul de muncă actual. Comanda rapidă este Control-F5.
- Când faceți clic pe această pictogramă, veți confirma modificările curente. Scurtătura este Control-Alt-Z.
- Click pe această pictogramă pentru a anula orice modificări selectate.
- Click pe această pictogramă pentru a crea o nouă listă de modificări. Rețineți că o changelist este un set de modificări în fișiere care reprezintă o modificare logică în codul sursă. Prescurtarea este Alt-Insert.
- Click pe acest buton pentru a șterge changelistul selectat.
- Pentru a face activă o changelist, este suficient să faceți clic pe această pictogramă.
- Pentru a muta un fișier selectat în altă changelist, faceți clic pe această pictogramă.
- Faceți clic pe această pictogramă pentru a o extinde și a vizualiza toate fișierele.
- Click pe această pictogramă pentru a restrânge toate fișierele.
- Click pe această pictogramă pentru a afișa fișierele modificate care sunt grupate pe dosare.
- Click pe această pictogramă pentru a copia calea către fișierul selectat în clipboard-ul sistemului.
- Click pe această pictogramă pentru a afișa nodul de fișiere ignorate cu lista fișierelor existente ignorate de Git.
- Click pe această pictogramă pentru a configura lista de fișiere care vor fi ignorate de Git.
- Click pe această pictogramă pentru a deschide panoul Preview Diff pentru a compara fișierul curent cu cea mai recentă revizuire confirmată.
Fila Console
În interiorul acestei file, vedem rezultatul executării comenzilor legate de Git. Rețineți că nu puteți scrie comenzi Git în interiorul acestei file – faceți-o în schimb în fereastra terminalului din Android Studio.
Fila Log
În această filă sunt afișate toate modificările care au fost confirmate în toate ramurile depozitului local și la distanță. În interiorul acestei file, puteți răsfoi angajările în orice ramură.
Căsuța de căutare este utilizată pentru a căuta comenzi care au șirul introdus sau o expresie regulată.
- Această listă derulantă care este utilizată pentru a filtra confirmările în funcție de ramură. Pentru a vizualiza toate confirmările locale și de la distanță, trebuie doar să selectați All (implicit).
- Pentru a filtra comiterile în funcție de autor, utilizați această listă derulantă. Va trebui să tastați numele autorului pentru a vizualiza comenzile acestuia. Selectați All (Toate) pentru a vizualiza confirmările tuturor utilizatorilor.
- Utilizați această listă derulantă pentru a filtra confirmările după un interval de timp sau pentru o anumită dată. Pentru a fi specificată data, pur și simplu faceți clic pe Select și alegeți data. Selectați All (Toate) pentru a vizualiza confirmările efectuate la toate datele.
- Utilizați această listă derulantă pentru a filtra confirmările în funcție de calea fișierelor modificate.
- Acest buton (IntelliSort) permite o modalitate mai convenabilă de a vedea fuziunile, afișând mai întâi comenzile primite, direct sub comanda de fuziune.
- Dacă acest buton este activat, ramurile lungi sunt afișate în întregime, chiar dacă nu există comenzi în ele.
- Utilizați acest buton pentru a reîmprospăta lista de angajări din proiect.
- Pentru a merge la un hash, tag sau ramură, utilizați pur și simplu acest buton.
- Click pe acest buton pentru a aplica modificările din confirmarea selectată în ramura curentă.
- Click pe acest buton pentru a evidenția comenzile din ramura selectată care nu au fost încă aplicate în ramura curentă.
Puteți afla mai multe despre fereastra instrumentului Version Control în documentația IntelliJ IDEA.
5. Efectuarea unui Commit
Vă veți da seama că atunci când am configurat integrarea Git cu proiectul nostru Android Studio, culoarea numelui fișierului nostru a devenit maro. Conform documentației oficiale IntelliJ IDEA, pentru fișierele cu etichete maro:
Filmul există la nivel local, dar nu se află în depozit și nu este programat pentru adăugare.
Să vedem acum cum se face o confirmare în Android Studio. Dar, mai întâi, trebuie să adăugăm modificările noastre din directorul de lucru în zona de staging. În consolă, vom utiliza comanda git add
.
git add <file> || <directory>
Dar putem face acest lucru chiar din Android Studio. Selectați lista derulantă Unversioned Files din fila Local Changes, faceți clic dreapta și mergeți la Git > Add sau utilizați Control-Alt-A. Amintiți-vă că selectarea folderului rădăcină va adăuga tot ce se află în interiorul acestuia în zona de staging.
Acum, veți observa că culorile etichetelor fișierelor dvs. s-au schimbat din maro în verde. Iată ce spune documentația IntelliJ IDEA despre numele fișierelor care sunt colorate în verde:
Fila este programată pentru adăugare în depozit.
Pentru a afla mai multe despre diferitele culori pe care le poate avea un nume de fișier în funcție de starea fișierului în Android Studio (IntelliJ IDEA), consultați documentația privind evidențierea stării fișierelor.
Pentru a confirma în cele din urmă modificările noastre, faceți clic pe butonul de confirmare a modificărilor din fila Modificări locale, iar fereastra de dialog Confirmare a modificărilor se va afișa.
- Aici putem selecta sau deselecta fișierele care ar trebui să fie incluse în această confirmare. În mod implicit, toate fișierele etapizate sunt bifate.
- Scrieți mesajul de confirmare înăuntru aici. Dacă aveți un mesaj de confirmare scris anterior, acesta va fi afișat aici în mod implicit.
- Selectați operațiunea (operațiile) care trebuie efectuată(e) înainte de comiterea în Git.
- Comparație alăturată a fișierelor modificate.
- Cu acest buton derulant, puteți fie să faceți commit și push, fie doar să faceți commit.
Așa că, pentru a face o confirmare, să scriem un mesaj de confirmare:
Initial commit
Selectați Commit în meniul derulant Commit pentru a confirma în cele din urmă modificările. Rețineți că puteți utiliza comanda rapidă Control-K pentru a confirma modificările oricând din Android Studio.
Dacă revedeți acum fila Local Changes din fereastra Version Control, nu veți mai vedea niciunul dintre fișierele dvs. listate acolo – pentru că le-am confirmat cu succes în repo-ul nostru local.
Rețineți că puteți, de asemenea, să navigați la VCS > Git > Commit File… pentru a face o confirmare și VCS > Git > Add pentru a adăuga un fișier pentru staging. În plus, puteți face clic pe pictograma de confirmare a modificărilor din bara de instrumente principală de sus din Android Studio pentru a face rapid o confirmare (sau o confirmare și un push).
În clasa noastră MainActivity.kt, am făcut o modificare simplă în clasă prin suprascrierea onResume()
. Veți observa că culoarea numelui de fișier după modificare este acum albastră; acest lucru înseamnă că am modificat fișierul.
Vizualizarea jurnalului de confirmare
Acum, revizitați din nou fereastra Version Control și mergeți la fila Log. Ceea ce veți vedea acum sunt confirmările care au fost făcute pentru acest proiect. Pentru a obține mai multe detalii despre orice confirmare, faceți clic pe ea.
- Acest panou principal afișează toate confirmările din proiect în funcție de filtrul selectat. Cu alte cuvinte, acesta ne arată istoricul confirmărilor.
- Acest panou afișează fișierele și folderele afectate de confirmarea selectată în panoul cu istoricul confirmărilor.
- Acest panou afișează mai multe detalii despre comiterea selectată.
Dând clic dreapta pe o confirmare, puteți vedea, de asemenea, un meniu care vă permite să copiați numărul revizuirii, să creați un patch, să verificați o revizuire, să faceți o ramură din acea confirmare, să creați o nouă etichetă și să resetați ramura curentă la acea confirmare.
Să ne uităm acum la modul în care putem vedea ce cod a fost adăugat, editat sau eliminat. Cu alte cuvinte, dorim să verificăm – mai în detaliu – modificările efectuate.
Simplu faceți clic pe pictograma show diff de deasupra ferestrei în care sunt afișate fișierele afectate de confirmare. O scurtătură este să folosiți Control-D sau să dați dublu clic pe fișierul sau dosarul respectiv.
Ce veți vedea este o fereastră de dialog Show Diff, care arată diferențele dintre confirmarea anterioară și confirmarea selectată.
O regiune colorată în verde în fișier evidențiază liniile care au fost adăugate la fișier – ar trebui să vedeți câteva dacă urmăriți. Regiunile gri evidențiază liniile care au fost eliminate. Iar culoarea albastră evidențiază liniile care au fost modificate. Încercați să explorați filtrele și butoanele cu pictograme disponibile în partea de sus a dialogului Show Diff pentru a afla mai multe despre acesta.
Rețineți că puteți vedea, de asemenea, modificările aduse imaginilor în fereastra de dialog Show Diff!
Dând clic dreapta pe un fișier, aveți, de asemenea, opțiunea de a vedea diferența dintre ultima confirmare și confirmarea curentă a acelui fișier – Show Diff (comandă rapidă Control-D). Puteți, de asemenea, să editați sursa (F4), să deschideți versiunea în depozit, să reveniți la modificările selectate, să afișați istoricul revizuirii și să afișați detaliile confirmării pentru acel fișier.
6. Crearea unei ramuri Git
Ramura master va fi curentă în mod implicit. Cu toate acestea, este recomandat să vă desprindeți întotdeauna de la master și să vă faceți munca pe o ramură separată, specifică unei caracteristici. Când ați terminat de codificat caracteristica dvs. (și când v-ați testat modificările), vă unificați apoi modificările în ramura principală.
Să vedem cum să creăm o ramură din master.
Direcționați-vă în colțul din dreapta jos al Android Studio și faceți clic pe meniul derulant Git: master.
Click pe butonul New Branch.
Introduceți numele ramurii. În cazul nostru, folosiți dev.
În cele din urmă, faceți clic pe butonul OK pentru ca Android Studio să creeze automat ramura dev și, de asemenea, să facă checkout la acea ramură.
Acum ne aflăm în prezent în ramura dev. După cum puteți vedea mai jos:
Sub capotă, Android Studio execută comanda:
git checkout -b dev
Rețineți că putem, de asemenea, să creăm o nouă ramură prin navigarea în VCS > Git > Branches > New Branch.
7. Fuzionarea ramurilor Git
În interiorul ramurii dev, trebuie doar să creăm o activitate de bază ProfileActivity.kt și fișierele de machetare ale acestuia și confirmați modificările. Vom vedea cum să fuzionăm dev cu master chiar în Android Studio.
Vă și faceți check out din ramura curentă (dev) în ramura master (ceea ce înseamnă că trecem de la dev la master).
Merge, Checkout, Delete, Compare, Rename Branch
Dacă faceți clic pe o ramură, vi se vor afișa câteva operații pe care le puteți efectua pe acea ramură. Operațiunile includ fuzionarea, compararea a două ramuri, redenumirea ramurii, rebasarea, verificarea și ștergerea ramurii.
În acest post vom vedea cum să fuzionăm o ramură. În ramura principală, fuzionați ramura dev în ea navigând la ramura dev și făcând clic pe Merge în meniu.
Așa se face! Acum am fuzionat cu succes ramura noastră dev în ramura master.
În spatele scenei, Android Studio execută comanda:
git merge dev
Rețineți că putem, de asemenea, să facem fuziunea avansată chiar în Android Studio. Avem posibilitatea de a specifica strategia de fuziune (Resolve, Recursive, Octopus, Ours sau Subtree) sau de a nu utiliza modul de fuziune rapidă.
Pentru a configura acest lucru atunci când fuzionați, navigați la VCS > Git > Merge Changes…
Aici puteți selecta mai multe ramuri pentru a fuziona, selectați strategia de fuziune și scrieți un mesaj de confirmare. Este foarte recomandat să înțelegeți cu adevărat aceste strategii de fuziune și să înțelegeți dacă trebuie să folosiți modul de avansare rapidă înainte de fuziune.
8. Pushing to a Remote Repository
Care proiect Git ar trebui să aibă un depozit la distanță sau central unde alți dezvoltatori pot colabora la proiect de oriunde din lume. În Android Studio, este, de asemenea, posibil să împingem confirmările sau modificările noastre către un depozit la distanță. Pentru a face acest lucru, navigați la VCS > Git > Push…
Aici putem adăuga URL-ul depozitului la distanță făcând clic pe link-ul Define remote din dialogul Push Commits care apare. În cele din urmă, faceți clic pe butonul Push atunci când ați terminat! O scurtătură este să folosiți Control-Shift-K.
Android Studio execută următoarea comandă în spatele scenei:
git push
De asemenea, puteți face rapid o confirmare cu un push făcând clic pe pictograma commit changes din bara de instrumente principală sau folosind Control-K.
9. Extragerea dintr-un depozit la distanță
Pentru a vă actualiza proiectul (pentru a face un pull) cu cele mai recente modificări din depozitul la distanță (ar trebui să fi adăugat deja originea la distanță), navigați la VCS > Git > Pull. Acest lucru vă va actualiza automat proiectul Android Studio cu cel mai recent cod din depozitul la distanță.
Pentru a iniția o extragere, puteți, de asemenea, să faceți clic pe pictograma de actualizare a proiectului din bara de instrumente principală sau să utilizați comanda rapidă Control-T.
Dacă faceți acest lucru, Android Studio va executa în spatele scenei comanda Git pull
:
git pull
Rețineți că, dacă întâmpinați un conflict de fuziune în timpul tragerii sau împingerii, Android Studio va afișa un dialog de conflict de fuziune foarte util, care vă va ajuta să rezolvați conflictul respectiv.
Concluzie
În acest tutorial, ați învățat cât de ușor este să efectuați diferite operații Git pe care le-ați putea face de obicei în linia de comandă sau în terminal. Utilizarea instrumentelor Git din Android Studio face mai ușoară și mai eficientă colaborarea cu alți dezvoltatori la proiectele Android.
Pentru a învăța mai multe despre codarea pentru Android, consultați unele dintre celelalte cursuri și tutoriale aici pe Envato Tuts+!
-
AndroidAfișarea de dialoguri Material Design într-o aplicație AndroidChike Mgbemena
-
AndroidCrearea unei aplicații Material Design Tabbed Interface in an Android AppChike Mgbemena
-
AndroidCreați o aplicație de muzică cu un model de aplicație AndroidChike Mgbemena
Chike Mgbemena