32 de comenzi Git Cheat Sheet pentru începători

Publicat: 2022-09-23

Cheat sheet-ul comenzilor GIT este o referință utilă pentru dezvoltatori și conține cele mai frecvent utilizate comenzi pentru proiectele git.

Ce este GIT?

GIT este un depozit open-source unde utilizatorii își pot plasa fișierele, inclusiv codul, fișierele zip, textul sau întregul proiect.

Are mai multe caracteristici, cum ar fi colaborarea, controlul versiunilor, controlul procesului etc. GIT stochează fișierele mai eficient și oferă o integritate mai bună decât alte sisteme de control al versiunilor. Git este un instrument de linie de comandă.

Ce este GitHub?

Cu interfața sa de utilizator îngrijită, GitHub, un hub pentru dezvoltatori, a devenit cel mai utilizat sistem de control al versiunilor și poate fi accesat de oricine, oriunde.

Flux de lucru Git

Git are fluxuri de lucru diferite și fiecare proiect ar trebui să aibă unul în funcție de cerințele sale. Fluxul de lucru Git nu este altceva decât un flux de lucru ușor, bazat pe ramuri, care ajută echipele care implementează proiecte în mod regulat.

De exemplu, un flux de lucru Git de bifurcare creează o copie locală a depozitului. Deci, fiecare dezvoltator are un spațiu de lucru local și un depozit central. Acest tip de flux de lucru este bun atunci când sunt implicați mai mulți dezvoltatori și le permite dezvoltatorilor să colaboreze la copia bifurcată înainte de a face modificări în depozitul principal.

De ce avem nevoie de Git?

Deoarece Git este un sistem de control al versiunilor, dezvoltatorii lucrează constant la el pentru a-și salva modificările, pentru a le face vizibile pentru alții, pentru a-și îmbina modificările cu altele și multe altele.

Pentru orice modificări aduse depozitului Git, dezvoltatorii trebuie să cunoască comenzile potrivite pentru acțiunea potrivită. Mai jos este o listă a comenzilor Git importante și frecvent utilizate:

Comenzi Git comune

git add

Pentru a adăuga fișierul (fișierele) specificat(e) la montaj

 git add <file> -- add a specific file git add * -- add all the files

arhiva git

Creează arhive de comitere, ramuri și arbori și combină mai multe fișiere într-unul singur. Puteți prelua conținutul extragând fișierele atunci când este necesar

git archive HEAD — creați o arhivă din HEAD ref-ul depozitului

git archive output = '.tar' — stocați fișierele arhivate în locația dată

git archive --format=tar.gz — specifică formatul fișierului arhivat, cum ar fi tar, zip, tar.gz

ramură git

Listează toate ramurile din depozit. O nouă ramură cu numele va fi creată dacă este specificată o ramură. Pentru a șterge o ramură, utilizați opțiunea -d cu numele ramurului. Pentru a redenumi o ramură curentă, utilizați -m.

git branch — listează toate ramurile

git branch <branch_name > — creează o nouă ramură numită „branch_name”, dar nu verifică noua ramură.

git branch -d <branch_name> — șterge ramura, împiedică ștergerea dacă există modificări necombinate

git branch -D <branch_name> — forțați ștergerea ramurii chiar dacă există modificări necombinate

git branch -m <branch2> — redenumiți ramura curentă

git cat-file

Afișează conținutul sau informațiile despre dimensiunea/tipul obiectelor din depozit

git cat-file <object> — arată conținutul obiectului

git cat-file -t <object> — afișează tipul de obiect

git cat-file -s <object> — arată dimensiunea obiectului

git cat-file -p <object> — imprimă tipul de obiect într-un mod frumos

git cat-file -e <object> — arată eroarea pe stderr dacă obiectul are un format nevalid sau nu există

git cat-file <type> <object> — arată conținutul brut al unui obiect

git checkout

Pentru a comuta între diferitele ramuri ale unui depozit, utilizați-l cu atenție, deoarece nu există „anulare” pentru acesta.

git checkout <branch_name> — verifică ramura specificată

git checkout -b <branch_name> — creați o nouă ramură și comutați la această ramură

De exemplu:

 C:\Users\geekflare>git checkout -b development_branch Switched to a new branch 'development_branch'

git clean

Curățați directorul de lucru. Fișierele care sunt comise nu vor fi eliminate

git clean -n — listează fișierele care vor fi eliminate

git clean -f — elimină fișierele

clona git

Creați o copie a depozitului existent într-un director nou. Util pentru a obține o copie de dezvoltare a unui depozit central.

git clone <central_repo> <new_dir> — creați o copie a depozitului central într-un director nou

De exemplu:

 C:\Users\geek>git clone geekflare master Cloning into 'master'… done.


git clone -branch <branch> <repo> — clonează o ramură din depozitul menționat

git commit

Salvează modificările într-un mediu de pregătire, astfel încât ceilalți să le poată vedea.

git commit — comite modificările în staging

git commit -m <useful_msg> — oferă un mesaj la comitere pentru a evidenția modificările făcute

git commit -a — comite modificările direct, fără staging

Să presupunem că ați adăugat un fișier numit samplefile.txt în directorul dvs. de lucru și doriți să trimiteți fișierul. După ce dați comanda de mai sus, veți obține rezultatul:

 Please enter the commit message for your changes. Lines starting with '#' will be ignored, and an empty message aborts the commit. On branch master Initial commit Changes to be committed: new file: samplefile.txt

Odată ce dați mesajul, modificările sunt comise:

 C:\Users\geekflare>git commit -m 'samplemsg' [integration_branch (root-commit) ed52dd0] 'samplemsg' 1 files changed, 24 insertions(+) create mode 100644 samplefile.txt

git config

Specifică nivelul de configurare în care să scrie o valoare a proprietății. Nivelul „Local” este implicit (când nu este specificat nimic).

git config –local — salvează configurația în directorul .git al depozitului

git config –global — salvează configurația în directorul principal al utilizatorului

git config –system — conține configurația tuturor utilizatorilor și depozitelor și se află în fișierul git config al rădăcinii.

git diff

Comparați modificările din git repo, care pot fi făcute înainte de punere în scenă, la punere în scenă și după punere în scenă (commit).

git diff — urmăriți modificările repo care nu sunt încă puse în scenă

git diff --staged — urmăriți modificările fișierelor în etape (care nu sunt comise)

git diff HEAD — urmăriți modificările fișierului după comitere

git diff <commit1_id> <commit2_id> — urmăriți modificările dintre două comiteri; puteți afla commit_id-urile folosind „ git log -p --follow --filename

git fetch

Preluați o ramură sau un întreg depozit la distanță

git fetch <remote-url> — obțineți întregul depozit de la adresa URL a depozitului de la distanță

git fetch <branch_url> <branchname> — preia ramura specifică

git fetch -all — preia toate ramurile unui depozit la distanță

git fetch origin — actualizați și sincronizați depozitul local cu noile modificări din depozitul de la distanță

git fsck

Comanda C hec K a sistemului de fișiere verifică validitatea și conectivitatea obiectelor bazei de date. Verifică SHA-1ID-ul obiectelor și conexiunile pe care le fac. Fsck este util pentru recuperarea comiterilor și fișierelor pierdute.

git fsck –full

git gc

Rulează colectarea gunoiului în depozitul curent și curăță fișierele neutilizate.

git gc

git grep

Caută conținut specific în depozit. Git oferă multe opțiuni de căutare în moduri diferite

git grep -i 'search_term' — caută ignorând majuscule [Omul și omul vor fi la fel]

git grep -f <file_name> — arată modelele de potrivire ale unui anumit fișier

git grep -e 'search-term' — utilizați -e pentru potrivirea modelelor

git grep -E 'regexp|multiple_exp' – Căutați expresii regulate, putem căuta mai multe utilizând operatorul pipe (OR)

git grep -n 'expr' — numărul de linie de prefix al liniei de potrivire

git grep -c 'expr' — arată numărul de linii care s-au potrivit în locul fiecărei linii

git ls-tree

Pentru a lista conținutul unui obiect arborescent din directorul curent.

git ls -tree -d <path> — arată doar intrarea specificată în arbore, nu copiii

git ls -tree -r — recurs în sub-arbori

git ls -tree -l — arată dimensiunea obiectelor fișier (blob).

git ls -tree --name-only — afișează numai numele fișierelor și nu rezultatul lung

git ls -tree --full-name — arată numele complete ale căilor și nu doar calea relativă la directorul curent

Exemplu:

 C:\Users\geek>git ls-tree --full-tree -r HEAD 100644 blob e883e60087e84f1660a9673ccb86eb0adc4f004d samplefile.txt 100644 blob 1426dc6fbff0677a484b248983a8740ff30fbb80 sample_jsindex.js

git init

Creați un nou depozit gol. Este prima comandă pe care o executați pentru a realiza un proiect git.

git init — creează un depozit .git în directorul de lucru,

De exemplu, pentru a crea un nou depozit numit „geekflare”, dați comanda ca:

 $ git init geekflare Initialized empty Git repository in C:/Users/geek/geekflare/.git/

git instaweb

Interfață cu utilizatorul pentru a răsfoi depozitul git printr-un browser. Utilizează scriptul CGI GitWeb pentru același lucru.

git instaweb --httpd=webrick — pornește serverul (httpd) și deschide browserul web pe pagină.

Pentru a opri serverul, utilizați comanda de mai sus cu opțiunea –stop.

git log

Înregistrează fiecare activitate din depozitul git.

git log — afișează ultimele comiteri

git log --oneline — arată rezultatul ca primele 7 caractere ale SHA și mesajul de confirmare cu un commit pe linie

git log stat — afișează mai multe informații despre fișierele modificate, cum ar fi numărul de linii adăugate/eliminate, un rezumat al înregistrărilor totale modificate, linii adăugate/eliminate

git log --patch (or -p) — arată fișierele modificate, modificările specifice și locația acestora

git log --graph — Vizualizați rezultatele jurnalului sub formă de grafic

git log -<n> — afișează ultimul „n” număr de comiteri

git log --after=<date/x days/yesterday> — afișează toate comitările după o dată specificată. Puteți utiliza --before pentru a afișa comenzile înainte de data specificată

git log --author=<author_name> — afișează comiterile unui anumit autor (utilizator).

git log --grep=<commit message> — filtrează comiterile pe baza mesajului de comitere

git merge

Integrează toate fișierele de dezvoltare într-o singură ramură, combină două ramuri și îmbină mai multe comitări într-un singur istoric. Fuziunea se oprește dacă există un conflict, iar git prezintă fișierele de conflict. Odată ce conflictele sunt rezolvate, fuziunea continuă.

git checkout -b — mai întâi, verificați ramura pentru a fuziona

git add <file>

git commit — adaugă și comite fișierele

git checkout master

git merge — îmbina ramura cu master

git prune

Șterge (Prune) fișierele care nu sunt accesibile din ramura curentă. Este un proces de curățare pentru a elimina fișierele neutilizate din ramură

git prune -n ​​— nu tăiați, doar arătați ce pot fi tăiați

git prune -v — arată rezultatul acțiunilor efectuate de prune

git prune --progress — arată progresul prunei

git fetch --prune — tunde toate ramurile învechite

git pull

Acesta primește date de la un server la distanță către un depozit de lucru. Actualizează ramura locală (de lucru) cu toate cele mai recente fișiere din depozitul de la distanță.

git pull — trageți depozitul de la distanță

git pull <repo URL> — trageți o anumită ramură la distanță

git push

Introduce toate modificările locale în depozitul de la distanță. Este un proces de încărcare exact opus comenzilor de extragere și preluare

git checkout master — verificați ramura care are cele mai recente modificări

git push origin master — împingeți modificările în depozitul de la distanță

Exemplu:

 C:\Users\geek>git checkout development_branch Switched to branch 'development_branch' C:\Users\geek>git push master development_branch Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 4 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (4/4), 612 bytes | 204.00 KiB/s, done. Total 4 (delta 0), reused 0 (delta 0), pack-reused 0 To master [development_branch] development_branch -> development_branch

De asemenea, putem folosi push pentru a șterge o ramură la distanță folosind comanda git push --delete <branch> .

De exemplu:

 C:\Users\geek>git push master --delete development_branch To master [deleted] development_branch

git rebase

Combină mai multe comiteri din diferite ramuri pentru a crea o nouă confirmare de bază finală. Util înainte de a îmbina toate modificările, pentru a comite modificările din diferite ramuri una câte una (liniar).

git rebase <branch name> — combină commit-urile într-o bază finală

Dacă există conflicte, rezolvați-le și continuați rebazarea:
git rebase --continue

Pentru a sări peste orice modificare:
git rebase --skip

telecomanda git

Verifică configurația serverului de la distanță și permite accesul la conexiune între distanță și local.

git remote — în mod implicit, returnează „origin”, numele implicit al serverului la distanță dat de Git

git remote -v — listează numele scurte și adresele URL ale tuturor conexiunilor la distanță disponibile

git remote add <short name> <remote url> — adăugați în mod explicit serverul la distanță la conexiunile disponibile. Numele scurt poate fi folosit pentru comenzile git în loc să ofere întreaga adresă URL.

git remote remove <remote url/short name> — elimină serverul la distanță din depozit

git reset

Reveniți la o comitare anterioară și renunțați la modificările făcute după acea comitare

git reset <hash of the commit> — restabilește repo-ul la commit-ul specificat. Git va păstra istoricul de comitere, astfel încât să puteți face o altă resetare cu un alt commit (hash) pentru a anula o resetare.

git rm

Elimină fișierul specific din git. Puteți anula efectul rm folosind comanda de resetare sau de checkout

git rm <file_ name> — eliminați fișierul specific

Pentru a elimina fișierele din git, dar le păstrați în local (staging), utilizați:

git rm --cached

git show

Vizualizați orice obiect, cum ar fi blob, arbore, commit sau etichetă, specificând SHA1

git show — nespecificarea <obiectului> arată detaliile ultimului comit de pe ramură.

git show <SHA1_id> — arată conținutul obiectului specificat de ID-ul său SHA1, de exemplu, blob id, tree id, etc. Pentru a verifica tipul de obiect, utilizați comanda git cat-file -t

git show –pretty — arată rezultatul într-un format frumos.

Puteți oferi un format personalizat:

git show --pretty = 'format:Name: <format>' Sau puteți utiliza unul dintre formatele scurte, complete, cu o linie, medii sau mai complete, de exemplu:

git show --pretty= 'medium' — aceasta va afișa autorul, data, titlul și mesajul de comitere complet

git show --abbrev-commit — pentru a prescurta SHA1

git stash

Pentru a comuta de ramuri fără comitere în ramura curentă, stocați în siguranță datele care nu sunt comise

git stash — salvează starea de lucru și index

git stash save <message> — dați un mesaj în timp ce salvați

git stash list — Vizualizați lista de conținut ascuns

git stash apply — comite modificările ascunse. Pentru a aplica modificările unei anumite stash, utilizați ID-ul indexului stash împreună cu aplica

git stash show — vizualizați conținutul fișierelor ascunse

git stash drop — elimină cea mai recentă stash din coadă

starea git

Vizualizați starea depozitului și a stagingului, adică starea înainte de etapa de comitere. Puteți utiliza această comandă după orice altă comandă git, cum ar fi adăugarea, actualizarea sau eliminarea unui fișier

git status — arată modificările care urmează să fie efectuate sau neurmărite (fără modificări în etape)

De exemplu, dacă adăugați un fișier în directorul de lucru numit samplefile.txt și verificați dacă este adăugat, puteți da comanda de mai sus. Va avea ca rezultat rezultatul după cum urmează:

 On branch master No commits yet Changes to be committed: (use "git rm --cached …" to unstage) new file: samplefile.txt

eticheta git

Referințele prietenoase sunt folosite pentru a indica reperele sau punctele de referință în cod

git tag <tag_name> — creați o etichetă cu numele dat

git tag — listează toate etichetele disponibile

git tag show <tag_name> — arată detaliile etichetei specificate

git tag -l “.*” — arată etichetele care se potrivesc cu modelul sau caracterele specificate

gitk

Lansează interfața de utilizator git care afișează conținutul, commit-urile, diferența completă și alte detalii într-o fereastră

gitk — deschideți git repo într-o fereastră pentru vizualizare

versiunea git

Utilizați comanda git version pentru a verifica versiunea git pe care o utilizați.

 C:\Users\geekflare>git version git version 2.38.0.windows.1

Cuvinte finale

Această postare a enumerat cele mai frecvent utilizate comenzi git cu opțiunile lor.

Apoi, puteți verifica scanerul de acreditări GitHub.