Control ușor al versiunii cu Git în Android Studio

După cum știți, este cea mai bună practică să utilizați întotdeauna managementul surselor de control (SCM) pentru proiectele dvs. - chiar și proiectele personale. Știți că Android Studio are o integrare uimitoare cu Git pentru controlul sursei de control? Dacă nu știați sau nu aveți experiență în folosirea acesteia, continuați să citiți această postare. Chiar dacă ați folosit deja integrarea Git a aplicației Android Studio, este posibil să preluați în continuare câteva trucuri utile în această postare.

Vă voi arăta multe caracteristici ale suportului Git în Android Studio și, de asemenea, cât de ușor este să faceți diferite operațiuni Git (comiteți, împingeți, trageți, sugeți etc.) din interiorul aplicației Android Studio. 

În acest tutorial, vă voi îndruma prin lista de funcții SCM care sunt disponibile în Android Studio. Vom analiza următoarele domenii:

  • integrarea unui nou proiect Android Studio cu Git
  • care lucrează cu GitHub sau Bitbucket
  • explorarea Controlul versiunii fereastră
  • comite
  • ramuri 
  • împingând și tragând dintr-un depozit la distanță

Cerințe preliminare

Pentru a putea urma acest tutorial, veți avea nevoie de:

  • o înțelegere de bază a sistemului de control al versiunii distribuite Git
  • Android Studio 3.0 sau o versiune ulterioară

1. Creați un proiect Android Studio

Activați Android Studio și creați un nou proiect (îl puteți numi GitApplicationDemo) cu o activitate goală numită Activitate principala

2. Integrarea lui Git 

După ce ați instalat proiectul Android Studio, faceți clic pe VCS meniu, plasați cursorul pe Importați în Controlul versiunii meniu și selectați Creați un depozit Git ...

Apoi, selectați directorul părinte principal al proiectului dvs. Android Studio.

Apasă pe O.K pentru a inițializa proiectul cu Git. Sub capota, Android Studio execută comanda Git:

git init

Ca o reamintire, iată ce va face această comandă: 

Această comandă creează un depozit Git gol - în esență a .git director cu subdirectoare pentru obiecteref / capeteetichete / ref, și fișiere șablon. Un inițial CAP fișierul care face referire la HEAD al sucursalei principale este, de asemenea, creat.

Va apărea un dialog de informare: 

Aceasta ne spune despre un fișier numit vcs.xml în interiorul .idee pliant. Acest dosar conține doar setări specifice pentru proiect. Rețineți că acesta este formatul utilizat de toate versiunile recente IntelliJ IDEA.

În mod ideal, fișierele din .idee/ nu ar trebui să ajungă la Git - deci ar trebui să-l adăugați .gitignore

În mod implicit, am trecut la sucursala principală. Puteți vedea întotdeauna sucursala dvs. curentă a proiectului în colțul din dreapta jos al aplicației Android Studio. 

3. Integrarea cu GitHub sau Bitbucket

Puteți lucra cu ușurință pe oricare dintre depozitele de cod sursă Android care se află într-un cont GitHub sau Bitbucket din Android Studio. Permiteți-mi să vă arăt cum să faceți asta. 

Navigheaza catre Fișier> Nou> Proiect de la Controlul versiunii> GitHub

(Dacă doriți să lucrați la un repo din Bitbucket, selectați BitBucket in schimb. Dacă doriți să clonați un replică Git de pe internet în mașina dvs. locală, selectați git opțiune de meniu.)

Apoi, introduceți acreditările contului GitHub și dați clic pe Logare

Dacă datele de conectare au avut succes, Clopoziția depozitului dialogul va apărea. Acest dialog afișează un drop-down care conține o listă de depozite în GitHub pe care dețineți sau la care ați lucrat în prezent.

Clic Clone pentru a clona repo-ul la mașina dvs. locală în interiorul directorului părinte deja selectat.  

4. Fereastra de control al versiunii

După ce începem cu succes proiectul Android Studio cu Git, Android Studio va afișa Controlul versiunii fereastră. Faceți clic pe Controlul versiunii (în partea de jos din stânga a aplicației Android Studio) și să explorăm ceea ce avem acolo. Rețineți că puteți utiliza Alt-9 pentru a deschide rapid această fereastră. 

În această fereastră, avem trei file diferite: Schimbări locale, Consolă, și Buturuga

Schimbările locale Tab

Aceasta arată lista fișierelor care au fost modificate local (pe propria mașină) și care nu au fost încă angajate în depozit. 

Să aruncăm o privire la barele de instrumente ale elementului disponibile când vă aflați în Schimbări locale fila.

  1. Faceți clic pe această pictogramă pentru a actualiza starea fișierelor dvs. în locul de muncă curent. Comanda rapidă este Control-F5
  2. Această pictogramă, atunci când se face clic, vă va angaja modificările curente. Comanda rapidă este Control-Alt-Z.
  3. Faceți clic pe această pictogramă pentru a reveni la toate modificările selectate. 
  4. Faceți clic pe această pictogramă pentru a crea un nou liste de modificări. Rețineți că un liste de modificări este un set de modificări în fișiere care reprezintă o schimbare logică a codului sursă. Comanda rapidă este Alt-Inserare
  5. Faceți clic pe acest buton pentru a șterge lista de modificări selectată. 
  6. Pentru a crea un schimbător de note activ, faceți clic pe această pictogramă. 
  7. Pentru a muta un fișier selectat într-un alt list de modificări, faceți clic pe această pictogramă. 
  1. Dați clic pe această pictogramă pentru a extinde pentru a vedea toate fișierele. 
  2. Faceți clic pe această pictogramă pentru a restrânge toate fișierele. 
  3. Faceți clic pe această pictogramă pentru a afișa fișierele modificate grupate după dosare. 
  4. Faceți clic pe această pictogramă pentru a copia calea către fișierul selectat în clipboardul sistemului. 
  5. Faceți clic pe această pictogramă pentru a afișa nodul fișierelor ignorate cu lista de fișiere existente ignorată de Git.
  6. Dați clic pe această pictogramă pentru a configura lista de fișiere care vor fi ignorate de Git. 
  7. Faceți clic pe această pictogramă pentru a deschide Previzualizare dif pentru a compara fișierul curent cu cea mai recentă versiune revizuită. 

Consola Tab

În această filă, vedem rezultatul efectuării comenzilor legate de Git. Rețineți că nu puteți scrie comenzi Git în această filă - faceți asta în fereastra terminalului din Android Studio. 

Fila Jurnal

Această filă afișează toate modificările aduse tuturor ramurilor depozitului local și de la distanță. În această filă, puteți căuta comitete în orice ramură. 


Caseta de căutare este utilizată pentru a căuta comitete care au șirul introdus sau o expresie regulată. 

  1. Această rubrică care este utilizată pentru filtrarea comitetelor de către sucursale. Pentru a vedea toate comitetele locale și la distanță, selectați Toate (implicit). 
  2. Pentru a filtra comitele de autor, utilizați această listă derulantă. Va trebui să tastați numele autorului pentru a-i vedea comitetele. Selectați Toate pentru a vedea comitetele tuturor utilizatorilor. 
  3. Utilizați acest meniu pentru a filtra comitetele cu un interval de timp sau pentru o anumită dată. Pentru a fi specifică la dată, faceți clic pur și simplu Selectați și alegeți data. Selectați Toate pentru a vedea comitetele făcute la toate datele. 
  4. Utilizați acest meniu pentru a filtra comitetele pe calea fișierelor modificate. 
  5. Acest buton (IntelliSort) permite o modalitate mai convenabilă de a vedea fuzibile, afișând mai întâi comitetele primite, direct sub comanda de îmbinare. 
  6. Dacă acest buton este activat, ramificațiile lungi sunt afișate în întregime, chiar dacă nu există comitete în ele. 
  7. Utilizați acest buton pentru a actualiza lista de angajamente în proiect. 
  8. Pentru a merge la un hash, o etichetă sau o ramură, pur și simplu utilizați acest buton. 
  9. Faceți clic pe acest buton pentru a aplica modificări din comitetul selectat la sucursala curentă. 
  10. Faceți clic pe acest buton pentru a evidenția angajamentele din ramura selectată care nu au fost încă aplicate sucursalei actuale. 

Puteți afla mai multe despre Controlul versiunii instrument în documentația IntelliJ IDEA. 

5. Efectuarea unui angajament

Veți observa că atunci când am creat integrarea Git cu proiectul nostru Android Studio, culoarea numelui fișierului a devenit maro. Conform documentației oficiale IntelliJ IDEA, pentru fișiere cu etichete maro:

Fișierul există local, dar nu se află în repozitoriu și nu este programat pentru adăugare. 

Să vedem acum cum să facem un angajament în Android Studio. Dar, mai întâi, trebuie să adăugăm modificările noastre în directorul de lucru la zona de așteptare. În consola, am folosi adăugați git comanda. 

adăugați git  || 

Dar putem face acest lucru din Android Studio. Selectează Fișiere necondiționate drop-down în Schimbări locale fila, Click dreapta și du-te la Git> Adăugați sau utilizare Control-Alt-A. Amintiți-vă că selectarea directorului rădăcină va adăuga tot ceea ce se află în interiorul acestuia în zona de așteptare. 

Acum, veți observa că culorile etichetei de fișier s-au modificat de la maro la verde. Iată ce spune documentația IntelliJ IDEA despre numele de fișiere colorate verde: 

Fișierul este programat pentru adăugarea î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șierelor din Android Studio (IntelliJ IDEA), verificați documentația de evidențiere a stării fișierului. 

Pentru a vă angaja în cele din urmă schimbările, faceți clic pe butonul modificări de comenzi din Schimbări locale și tabelul Schimbă comitetele dialogul va apărea. 

  1. Aici putem selecta sau deselecta fișierele care ar trebui incluse în această comitet. În mod implicit, toate fișierele staged sunt verificate. 
  2. Scrie mesajul tău de comitet aici. Dacă aveți un mesaj de comitere scris anterior, acesta va fi afișat aici ca implicit. 
  3. Selectați operațiile care trebuie efectuate înainte de a vă angaja la Git. 
  4. Comparație comparativă a fișierelor modificate. 
  5. Cu acest buton derulant, puteți fie să vă angajați, fie să vă împingeți sau să vă angajezi. 

Deci, pentru a face o comitere, să scriem un mesaj de comitet:

Initial comit 

Selectați comite în comite drop-down pentru a vă angaja în cele din urmă modificările. Rețineți că puteți utiliza comanda rapidă Control-K pentru a efectua modificări oricând de la Android Studio. 

Dacă revizuiți acum Schimbări locale în tabul Controlul versiunii fereastră, nu veți mai vedea nici unul din fișierele dvs. listate acolo - deoarece le-am angajat cu succes în repo-ul nostru local. 

Rețineți că puteți naviga la VCS> Git> Commit File ...  pentru a face o comitere și VCS> Git> Adăugați pentru a adăuga un fișier pentru stadializare. În plus, puteți să faceți clic pe pictograma modificări de comenzi din bara de instrumente principală de top din Android Studio pentru a face o acțiune rapidă (sau comiterea și împingerea). 

În a noastră MainActivity.kt clasa, am făcut o modificare simplă în clasă prin suprimare onResume (). Veți observa că culoarea numelui fișierului după modificare este acum albastră; aceasta înseamnă că am modificat fișierul. 

Vizualizarea jurnalului de comitete

Acum, revedeți Controlul versiunii fereastră din nou și du-te la Buturuga tab. Ce veți vedea acum sunt comitetele care au fost făcute pentru acest proiect. Pentru a obține mai multe detalii despre orice comitere, faceți clic pe el. 

  1. Acest panou principal afișează toate angajările asupra proiectului în funcție de filtrul selectat. Cu alte cuvinte, acest lucru ne arată istoria comiterii. 
  2. Acest panou afișează fișierele și folderele afectate de comitetul selectat în panoul Istoric comitete. 
  3. Acest panou afișează mai multe detalii despre comitetul selectat. 

Dând clic dreapta pe un comitet, puteți vedea și un meniu care vă permite să copiați numărul de revizie, să creați un patch, să verificați o revizie, o ramură din acea comitet, să creați o nouă etichetă și să resetați sucursala curentă la comitetul respectiv. 

Să analizăm acum modul în care putem vedea ce cod a fost adăugat, editat sau eliminat. Cu alte cuvinte, dorim să verificăm mai detaliat - modificările aduse. 

Trebuie doar să faceți clic pe pictograma differe de afișare deasupra ferestrei în care sunt afișate fișierele afectate de comitet. Trebuie să utilizați o scurtătură Control-D sau să faceți dublu clic pe fișier sau pe folder. 

Ce veți vedea este a Afișați Dif dialog, arătând diferențele dintre comitetul anterior și comitetul selectat. 

O regiune de culoare verde în fișier evidențiază liniile care au fost adăugate în fișier - ar trebui să vedeți unele dacă urmăriți de-a lungul. Regiunile gri evidențiază liniile care au fost eliminate. Și albastru evidențiază linii care au fost schimbate. Încercați să explorați filtrele și butoanele de pictograme disponibile în partea de sus a paginii Afișați Dif dialog pentru a afla mai multe despre el. 

Rețineți că puteți vedea, de asemenea, modificări ale imaginilor din Afișați Dif dialog!

Dacă faceți clic cu butonul din dreapta pe un fișier, aveți opțiunea de a vedea diferența dintre ultimul comitet și comitentul curent al acelui difuz de fișier (comanda rapidă Control-D). De asemenea, puteți edita sursa (F4), deschideți versiunea din depozit, reveniți la modificările selectate, afișați istoricul reviziei și afișați detaliile comiterii pentru acel fișier.

6. Crearea unei filiale Git

Ramura master va fi curentă în mod implicit. Cu toate acestea, este recomandat să fugi mereu de la comandant și să lucrați la o ramură distinctă, specifică pentru anumite funcții. După ce ați terminat codarea caracteristică (și după ce ați testat modificările), veți îmbina apoi modificările dvs. cu sucursala principală. 

Să vedem cum să creați o ramură de la comandant. 

Mergeți în colțul din dreapta jos al aplicației Android Studio și faceți clic pe Git: maestru meniul derulant. 

Faceți clic pe Sucursala nouă buton. 

Introduceți numele filialei. În cazul nostru, utilizați dev

În cele din urmă, faceți clic pe O.K buton pentru Android Studio pentru a crea automat devramură și, de asemenea, checkout la acea ramură. 

Suntem în prezent în prezent devramură. După cum puteți vedea mai jos:

Sub capota, Android Studio execută comanda:

 git checkout -b dev

Rețineți că putem crea o nouă filă prin navigarea la VCS> Git> Sucursale> Sucursala nouă

7. Îmbinarea sucursalelor Git

În interiorul dev ramură, creați doar o activitate de bază ProfileActivity.kt și fișierele de aspect și să vă angajați modificările. Vom vedea cum să fuzăm devpentru a stăpâni direct în Android Studio. 

Du-te și check out de la ramura curentă (dev) la sucursala principală (adică trecem de la devla comandant). 

Merge, Checkout, Șterge, Compară, Redenumiți ramura

Dacă faceți clic pe o ramură, vi se vor afișa unele operații pe care le puteți efectua în acea ramură. Operațiile includ fuziunea, compararea a două ramuri, redenumirea ramurii, rebasingul, verificarea și ștergerea sucursalei. 

Vom analiza cum să fuzăm o sucursală în acest post. În ramura master, îmbinați dev intrați prin navigare către dev ramură și clic contopi din meniu. 

Asta e! Acum am reușit să fuzionăm filiala noastră dev pentru sucursala principală. 

În spatele scenei, aplicația Android Studio execută comanda:

git merge dev

Rețineți că putem de asemenea să facem o fuziune avansată chiar în Android Studio. Putem specifica strategia de fuziune (Resolve, Recursive, Octopus, Ours sau Subtree) sau să nu folosim modul de fuziune rapidă înainte. 

Pentru a configura acest lucru la fuziune, navigați la VCS> Git> Modificări combinate ...

Aici puteți selecta mai multe sucursale pentru a fuziona, selectați strategia de îmbinare și scrieți un mesaj de comitere. Este foarte recomandat să înțelegeți cu adevărat aceste strategii de fuziune și dacă să utilizați modul înainte înainte de a fuziona. 

8. Apăsați pe un depozit la distanță

Fiecare proiect Git ar trebui să aibă un depozit la distanță sau central unde alți dezvoltatori pot colabora la proiect de oriunde în lume. În Android Studio, este posibil, de asemenea, să împingem comitetele 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 repository de la distanță făcând clic pe Definiți telecomanda link în Push Commits dialog care apare. În cele din urmă, faceți clic pe Apăsați atunci când este făcut! Trebuie să utilizați o scurtătură Control-Shift-K

Android Studio execută următoarea comandă în spatele scenei:

git push

De asemenea, puteți face rapid o comitere cu o apăsare făcând clic pe pictograma modificări de comenzi din bara principală de instrumente sau utilizând Control-K

9. Tragerea dintr-un depozit la distanță

Pentru a vă actualiza proiectul (pentru a face o tragere) cu cele mai recente modificări din depozitul de la distanță (ar fi trebuit să adăugați deja originea de la distanță), navigați la VCS> Git> Trageți. Aceasta va actualiza automat proiectul dvs. Android Studio cu cel mai recent cod din depozitul de la distanță. 

Pentru a iniția o tragere, puteți de asemenea să faceți clic pe pictograma proiectului de actualizare din bara principală de instrumente sau să utilizați Control-T scurtătură. 

Dacă faceți acest lucru, Android Studio va executa Git Trage comandă în spatele scenei:

git trageți 

Rețineți că dacă întâmpinați un conflict de îmbinare în timp ce trageți sau împingeți, Android Studio va afișa un dialog de conflict de conflict foarte util, care vă va ajuta să rezolvați acest conflict. 

Concluzie

În acest tutorial, ați aflat cât de ușor este să efectuați diferite operațiuni Git pe care le-ați putea efectua de obicei pe linia de comandă sau pe terminal. Utilizarea instrumentelor Git de la Android Studio face mai ușoară și mai eficientă colaborarea pe proiecte Android cu alți dezvoltatori. 

Pentru a afla mai multe despre codificarea pentru Android, consultați câteva dintre celelalte cursuri și tutoriale de aici, pe Envato Tuts+!

Cod