Top 20 de comenzi GIT cu care să începeți
Publicat: 2020-06-10După cum probabil știți, GIT este un sistem de control al versiunilor distribuite. Inginerii îl folosesc pentru a urmări modificările care au fost făcute în codul sursă în timpul procesului de dezvoltare a software-ului. Dacă sunteți dezvoltator, mai ales dacă abia vă aflați în profesie, trebuie să învățați câteva dintre comenzile GIT mai utile.
Să ne uităm la cele mai bune comenzi GIT bash despre care ar trebui să înveți.
- Pentru configurarea proiectului: o explicație a solicitărilor GIT
- GIT INIT
- CONFIG
- CLONARE
- ALIAS
- Comenzi pentru efectuarea și anularea modificărilor
- STARE
- ADĂUGA
- COMMIT
- RESET
- ASCUNDE
- REVENI
- Comenzi Git pentru eforturile echipei
- SUCURSALA
- Verificat
- TRAGE
- COMMIT
- APĂSAŢI
- COMBINA
- REBAZA
- După efectuarea comenzilor
- BUTURUGA
- SPECTACOL
Pentru configurarea proiectului: o explicație a solicitărilor GIT
Recomandat pentru dvs.: 5 aplicații gratuite strălucitoare care vă vor ajuta să învățați cum să codificați.
GIT INIT
Să presupunem că tocmai ai creat un proiect în IDE-ul tău preferat și trebuie să știi despre solicitările GIT PowerShell. Va trebui să configurați un depozit GIT funcțional.
În timp ce faceți acest lucru, trebuie să spuneți lui GIT care director ar trebui să fie utilizat și rulat. Caracteristica git init este modul în care ați face asta. GIT va crea un ascuns. git și folosiți-l pentru a-și păstra fișierele organizate ca alte subdirectoare.
Iată o listă de comenzi git init pentru următoarele editoare populare:
Atom | git config –global core.editor „atom –wait” |
---|---|
BBEdit (Mac, cu instrumente de linie de comandă) | git config –global core.editor „bbedit -w” |
Gedit (Linux) | git config –global core.editor „gedit –wait –new-window” |
Notepad (Windows 64 de biți) | git config core.editor notepad |
Notepad++ (Windows 64 de biți) | git config –global core.editor „'C:\Program Files\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin” (vezi și nota de mai jos) |
Scratch (Linux) | git config – global core.editor „scratch-text-editor” |
Sublime Text (macOS) | git config –global core.editor „/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl –new-window –wait” |
Sublime Text (Windows 64 de biți) | git config –global core.editor „'C:\Program Files\Sublime Text 3\sublime_text.exe' -w” (vezi, de asemenea, nota de mai jos) |
Vim | git config – global core.editor „vim” |
Codul Visual Studio | git config –global core.editor „cod – așteptați” |
CONFIG
După ce v-ați creat depozitul, poate ați putea configura câteva elemente esențiale în el, cum ar fi configurarea numelui de utilizator. De aceea veți avea nevoie de o comandă CONFIG. Orice comandă a unei liste GIT va include acest lucru.
Vă puteți configura numele de utilizator executând:
git config user.name=<replace_with_your_username>.
Aceasta va plasa numele de utilizator în depozitul din apropiere. Cu toate acestea, rețineți că ulterior, dacă doriți să creați un al doilea depozit, va trebui să configurați încă o dată informațiile despre utilizator.
Nu trebuie să faceți acest lucru dacă adăugați o opțiune de comandă globală. Acesta va seta global informațiile dvs.:
git config --global user.name=<replace_with_your_username>.
De asemenea, puteți utiliza o comandă CONFIG pentru a configura alte aspecte. Puteți plasa comanda în fișierul de configurare.
CLONARE
Pentru a obține un depozit pe computer care este la distanță, trebuie să configurați o comandă CLONE. Faceți acest lucru cu setarea dvs. de clonare git și trecând URL-ul ca parametru. Această comandă ar trebui să cloneze întregul depozit de la distanță din mașina dvs. Aceasta este încă una dintre comenzile GIT hub care vă va servi bine ca dezvoltator.
$ git clone git://git.kernel.org/pub/scm/git/git.git
ALIAS
Cu o comandă ALIAS, puteți crea comenzi rapide către comenzile preferate. Este un instrument care vă ajută să includeți o secvență de comenzi și să le salvați sub un nume. Aceasta ar fi considerată una dintre comenzile GIT comune pe care le veți folosi adesea ca dezvoltator.
De asemenea, puteți adăuga aliasurile chiar în fișierul dvs. de configurare. În acest caz, directiva din exemplu va fi transformată în următoarea configurație în fișierul de configurare globală. De exemplu, puteți configura următoarele comenzi rapide pentru cele mai comune comenzi:
$ git config --global alias.co checkout $ git config --global alias.br branch $ git config --global alias.ci commit $ git config --global alias.st status
Comenzi pentru efectuarea și anularea modificărilor
STARE
Aceasta este comanda pe care ați folosi-o dacă doriți să afișați starea zonei de pregătire și configurația dvs. de lucru. Folosind-o, puteți vedea ce modificări au fost puse în scenă și care nu.
ADĂUGA
Înainte de a vă completa fișierul modificat sau nou, acesta trebuie să fie adăugat în zona dvs. de pregătire. Faceți acest lucru rulând o directivă git add . Trebuie să treceți numele fișierului și directorului ca parametru. Puteți introduce f_your_file>. În acel moment, fișierul dvs. va fi eliminat din lista de „modificări care urmează să fie comise”.
Adăugarea -p (sau —patch) vă permite să selectați părți din fiecare fișier urmărit pentru a fi comis. Apoi, fiecare comitere conține doar modificări aferente.
COMMIT
Să presupunem că ați finalizat implementarea unor caracteristici și doriți să salvați modificările. Uitați-vă la lista „modificări care trebuie efectuate”. Odată ce ați terminat, veți ști că toate fișierele necesare au fost puse în scenă. Atunci puteți executa git commit .
După ce ați executat această comandă, se va deschide editorul implicit. Apoi ar trebui să introduceți mesajul COMMIT.
Dacă mesajul dvs. este scurt, includeți-l în comanda GIT COMMIT după cum urmează:
git commit -m “Your_first_commit_message.”
De asemenea, puteți adăuga opțiunea -a. Procedând astfel, vă puteți asigura că GIT se va uita la arborele dvs. de lucru. Apoi va efectua GIT ADD pentru fișierele noi și modificate, precum și git rm pentru orice fișiere șterse înainte de comitere.
Poate ați uitat să adăugați un fișier la comit. Nu doriți să creați o altă comandă de comitere pentru acel fișier. În schimb, puteți utiliza o opțiune de modificare.
Angajamentele publice nu ar trebui să fie niciodată modificate. Amintiți-vă că colegii dvs. s-ar putea să-și fi bazat munca pe acel angajament. Nu doriți să îi încurcați din cauza modificărilor pe care le-au făcut.
RESET
git reset este un alt instrument care ar trebui să vă fie la îndemână atunci când vă începeți viața profesională ca dezvoltator. Aceasta este o comandă care vă ajută să reformatați modificările. Există mai multe moduri în care poate fi folosit, dar un exemplu obișnuit este atunci când furnizați un mod și identificarea de comitere ca și cum ar exista argumente, ca acesta:
git reset <mode> <commit>.
Există mai multe posibilități de resetare. Pentru a le înțelege, ar trebui să fiți conștienți de cei trei arbori GIT.
- Mixed este o invocare implicită cu GIT RESET. Folosește opțiunea mixtă, precum și HEAD ca id-ul de comitere. Resetează indicatorii de referință și mută orice modificări de la indexul în etape în zona de lucru. Zona de pregătire se potrivește apoi cu starea în care are loc comiterea specificată.
- Hard: Opțiunea hard resetează indicatoarele de referință și ajustează indexul de staging. De asemenea, modifică directorul de lucru, potrivindu-se cu starea comiterii specifice. În esență, resetează toate aspectele. Înainte de a efectua o resetare completă, cunoașteți modificările angro pe care urmează să le faceți.
- Soft: Există, de asemenea, opțiunea soft care nu atinge indexul de staging sau directorul de lucru. Indicatorii de referință sunt tot ce este actualizat.
ASCUNDE
Să presupunem că lucrați de ceva timp la o anumită zonă de caracteristici. Vedeți că există o eroare care trebuie remediată chiar în acel moment. Dar implementările caracteristicilor dvs. sunt încă în proces și nu doriți să provocați modificări neterminate ale ramurilor. Comanda dvs. git stash este ceea ce aveți nevoie.
Această metodă vă permite să vă păstrați modificările în stiva STASH. După aceea, puteți face o listă cu ele, împreună cu lista git stash.
Nu există restricții pentru ramura pe care îți poți aplica depozitul. Puteți păstra modificările într-o ramură și le puteți aplica în altă ramură când doriți.
Pentru a pune în aplicare modificările stocate, utilizați directiva git stash apply. Se aplică cele mai recente modificări stocate în stivă. Dacă doriți să aplicați modificări mai vechi, atunci puteți specifica numele ca un git stash apply [email protected]{1}. Acest lucru este valabil pentru o altă rezervă din stivă.
Odată ce aplicați un stash utilizând o directivă de aplicare, acesta nu va fi eliminat din acel teanc. Puteți vizualiza aceasta ca o comandă de flux GIT pe care o veți folosi frecvent.
S-ar putea să vă placă: Care sunt tendințele despre dezvoltarea aplicațiilor mobile în 2020?
REVENI
Poate ați considerat de cuviință să vă împingeți modificările finalizate la ramura sa originală și ați observat că unul dintre comiterile dvs. nu trebuie să fie acolo. Remediați-o prin adăugarea unei alte directive care va scăpa de cea anterioară. Directiva REVERT vă ajută acolo. Trebuie să specificați id-ul de comitere și să anulați ca parametru: git revert <commit_id> .
Comanda va găsi informații utile, inclusiv numele ramurii, numărul de comiteri care au fost efectuate după sau înainte ca aceasta să devină la distanță. De asemenea, puteți vedea fișierele noi și modificate ca liste multiple:
- Modificări care urmează să fie efectuate.
- Modificări nu sunt stabilite pentru angajament.
- Fișiere neurmărite.
Comenzi Git pentru eforturile echipei
SUCURSALA
Cu directivele git branch , sistemul dumneavoastră va folosi lista de ramuri. Dacă vrei să te uiți la ramurile de la distanță, atunci git branch -r este modul în care o faci. Dacă doriți să vedeți ramuri locale și la distanță, atunci utilizați git branch -a.
Puteți șterge o ramură folosind: git branch -d <branch_name>.
Verificat
Aceasta este o altă directivă GIT utilizată în mod regulat. Pentru a lucra în ramură, trebuie să executați un comutator. git checkout este modul în care se trece ușor de la o ramură la alta. Îl puteți folosi pentru a citi fișiere, precum și pentru a comite. Git checkout <name-of-your-branch> este modul în care se execută.
Rețineți următoarele dacă doriți să comutați cu succes între ramuri:
Modificările din ramura curentă pot fi comise sau ascunse atunci când comutați
Orice filială pe care o verificați trebuie să existe în localul dvs
Există, de asemenea, o comandă de comandă rapidă care vă permite să creați și să comutați la o ramură într-o singură dată:
git checkout -b <name-of-your-branch>.
Aceasta este o comandă care creează o directivă diferită în local (-b reprezintă ramură). Se uită peste cea mai recentă ramură imediat după ce este creată.
TRAGE
Cu directiva git pull , faceți o descărcare de date noi printr-un depozit de la distanță și o integrare cu cel mai apropiat. Când rulați această comandă, reîmprospătați ramurile locale, împreună cu orice modificări de la terminalul dvs. la distanță.
Există o modalitate implicită de a integra și noile modificări. Utilizați o îmbinare. Îl puteți schimba în rebase dacă utilizați opțiunea: git pull –rebase .
Este recomandat să puneți întotdeauna modificările într-un depozit curat din apropiere, fără modificări necommise în acesta.
COMMIT
Aceasta este o directivă care ar putea să „captureze” sau să înregistreze fișierul în istoricul versiunilor. Introduceți git commit -m „[ Introduceți mesajul de comitere]”, folosindu-l astfel.
Este comanda care comite toate fișierele pe care le-ați adăugat, împreună cu comanda GIT ADD. De asemenea, comite efectiv fișierele care s-au schimbat de atunci.
APĂSAŢI
După ce ați comis orice modificări, probabil, doriți să trimiteți la un depozit la distanță. În acest fel, sunt disponibile pentru colegii tăi.
Dacă rulați GIT PUSH, aceasta va „împinge” modificările recente ale unei zone curente către telecomandă. Dacă prin crearea unei ramuri la nivel local, împingeți întreaga ramură într-un depozit la distanță, este în regulă. Această directivă vă permite să faceți asta: git push -u origin <replace_with_branch_name> .
Acesta este modul în care împingeți o ramură care are un nume specificat în depozitul de origine. Ramura la distanță ar trebui să folosească același nume ca și cea locală.
COMBINA
De asemenea, a trebuit să punem MERGE pe această listă de prompturi GIT. Veți dori să integrați ramura caracteristică sau să remediați orice erori de pe o altă ramură la un moment dat. Îmbinarea sucursalei vă permite să faceți asta. Rularea unei comenzi git merge este ceea ce va trebui să faceți.
După rularea comenzii, pot apărea două variante de îmbinare, îmbinarea în trei căi sau cea cu înainte rapidă.
O îmbinare rapidă înainte este pentru atunci când există o cale liniară între ramurile pe care doriți să le îmbinați. Să presupunem că ați creat o ramură de remediere a erorilor din master. Ați rezolvat problema și veți dori să o îmbinați într-un master. Cu toate acestea, nimeni nu a făcut o actualizare a sucursalei. GIT poate îmbina o ramură în sine, ceea ce va rezolva problema.
O îmbinare în trei căi are loc atunci când nu există o cale liniară între ramuri. Ca și în ultimul exemplu, ați conceput o ramură de remediere a erorilor din versiunea principală. Ați corectat eroarea și acum trebuie să o îmbinați cu git merge <branch> .
Poate descoperi că cineva a actualizat masterul. Pentru a conecta ramurile, GIT trebuie să creeze un nou commit în care modificările se combină.
Atunci apare o problemă. Ambele ramuri au schimbat blocul de cod identic. GIT nu poate combina modificările fără ajutorul tău. Acceptarea unei schimbări este cel mai simplu mod de a face asta.
Cu toate acestea, puteți combina și modificările. Când se întâmplă acest lucru, GIT modifică fișierele afectate cu niște indicatori vizuali. Acest lucru vă permite să localizați cu ușurință problemele. Se folosesc niște markeri vizuali:
<<<<<< — shows the place the conflict began ====== — separates changes from different branches >>>>>> — shows where the conflict ends
Odată ce rezolvați conflictele și scăpați de marcatori, zonele aflate în conflict vor fi adăugate în zona dvs. de pregătire cu git add .
Dacă a fost făcută o eroare sau doriți să mergeți într-o altă direcție, rulați git merge –abort. Procedând astfel, sucursala dvs. nu va fi modificată.
Dacă nu, atunci utilizați comenzile git commit. Acesta va încheia fuziunea, creând un nou commit.
O altă comandă utilă este comanda git mergetool pur și simplu lansează un ajutor extern de îmbinare în cazul în care aveți probleme cu o îmbinare în Git.
S-ar putea să vă placă și: Cel mai bun limbaj de programare pentru dezvoltarea de aplicații iOS.
REBAZA
Integrați modificările folosind mai întâi REBASE și apoi îmbinați. Cu REBASE, rescrieți povestea de fundal a programului. Comiterile publice nu ar trebui să fie niciodată rebazate, deoarece, de exemplu, un membru al echipei și-ar putea baza munca pe ele.
În loc să alegeți să îmbinați o anumită ramură în propria dvs., vă puteți rebaza ramura pe una anume. Dar ce face acest protocol de rebase pe care îl folosești?
Ceea ce se va întâmpla este că schimbările vor obține integrarea dintr-o ramură specifică în alta. Baza celei de-a doua ramuri va fi schimbată de la un commit la altul. Se va părea că a doua ramură a fost creată din prima. Acest lucru vă oferă o istorie clară, liniară.
Git rebase <name_of_branch_to_rebase_on> este modul în care executați comanda.
Acesta este primul sau modul standard al comenzii rebase. Apoi, există al doilea mod, numit și modul interactiv. Îl puteți folosi pentru a modifica cu ușurință o secvență de comitări înainte de a le include într-o altă ramură, cunoscută și ca cea la distanță.
După efectuarea comenzilor
BUTURUGA
Această directivă este pentru listarea istoricului versiunilor ramurii curente. Pentru a-l executa, introduceți git log –follow[file] .
Această directivă listează un istoric al versiunilor fișierului. Redenumirea fișierelor va fi inclusă. git log imprimă un istoric de comitere.
În acest scenariu pot fi utilizate mai multe opțiuni. Unul dintre ele este git log –stat. Pentru fiecare comisie din istorie, va fi tipărită o listă de nume. Fișierele care au fost eliminate, modificate sau adăugate vor fi accesibile. Cantitățile de rând care au fost eliminate sau adăugate pot fi văzute. Veți observa că există și un rezumat pe care îl puteți citi.
SPECTACOL
Promptul Afișează pe care îl folosesc dezvoltatorii poate afișa detalii pentru diferite obiecte. Când spunem „obiecte”, vorbim despre comit-uri sau etichete. git show poate fi folosit pentru a afișa o versiune mai veche a fișierului. De exemplu, puteți folosi această comandă pentru a afișa o versiune a unui fișier de acum două comiteri.
Sperăm că acest tutorial de comenzi GIT a ajutat să servească drept introducere la acest instrument. În calitate de dezvoltator, cu cât înveți mai multe despre GIT, cu atât vei avea o poziție mai bună pentru a fi angajat de o echipă care caută un programator de încredere.
Pe măsură ce devii mai avansat în acest domeniu, vei învăța mai multe solicitări GIT, iar programarea ta va deveni mult mai fluidă. Veți putea scrie cod utilizabil, care poate fi adăugat de către colegii dvs. de echipă.
Acest articol este scris de Slava Vaniukov. El este co-fondator și CEO la Softermii, agenție de dezvoltare de software și aplicații. Are peste 9 ani de experiență în industria de dezvoltare web și mobilă. În afară de asta, el este unul dintre autorii blogului Softermii și bloggerului tech prezentat într-o gamă largă de alte resurse web. Îl poți urmări pe LinkedIn.