git commit comanda va salva toate modificările etapizate, împreună cu o scurtă descriere a utilizatorului, într-un „commit” către depozitul local.

Angajările sunt în centrul utilizării Git. Vă puteți gândi la un commit ca la un instantaneu al proiectului dvs., în care se creează o nouă versiune a acelui proiect în depozitul curent. Două caracteristici importante ale comitetelor sunt:

  • puteți reaminti modificările efectuate la o dată ulterioară sau puteți readuce proiectul la acea versiune (vezi Git checkout)
  • dacă mai multe comitere editează diferite părți ale proiectului, ele nu se vor suprascrie reciproc, chiar dacă autorii comitetului nu erau conștienți unul de celălalt. Acesta este unul dintre avantajele utilizării Git peste un instrument precum Dropbox sau Google Drive.

Opțiuni

Există o serie de opțiuni pe care le puteți include git commit. Cu toate acestea, acest ghid va acoperi doar cele mai comune două opțiuni. Pentru o listă extinsă de opțiuni, vă rugăm să consultați Documentație Git.

Opțiunea -m

Cea mai comună opțiune utilizată cu git commit este -m opțiune. -m înseamnă mesaj. Când sunați git commit, este necesar să includeți un mesaj. Mesajul ar trebui să fie o scurtă descriere a modificărilor efectuate. Mesajul ar trebui să fie la sfârșitul comenzii și trebuie să fie înfășurat în ghilimele " ".

Un exemplu de utilizare a fișierului -m opțiune:

git commit -m "My message"

Ieșirea din terminalul dvs. ar trebui să arate cam așa:

[master 13vc6b2] My message
 1 file changed, 1 insertion(+)

NOTĂ: Dacă -m nu este inclus în git commit comanda, vi se va solicita să adăugați un mesaj în editorul de text implicit – consultați mai jos „Utilizarea mesajelor de confirmare detaliate”.

Opțiunea -a

O altă opțiune populară este -a opțiune. -a reprezintă toți. Această opțiune stabilește automat toate fișierele modificate care trebuie angajate. Dacă se adaugă fișiere noi, fișierul -a opțiunea nu va pune în scenă acele fișiere noi. Vor fi angajate numai fișierele despre care depozitul Git este conștient.

De exemplu:

Să spunem că aveți un README.md fișier care a fost deja trimis către depozitul dvs. Dacă modificați acest fișier, puteți utiliza fișierul -a opțiunea din comanda de confirmare pentru a pune în scenă și a adăuga modificările la depozitul dvs. Cu toate acestea, ce se întâmplă dacă ați adăugat și un nou fișier numit index.html? -a opțiunea nu va pune în scenă index.html deoarece nu există în prezent în depozit. Când au fost adăugate fișiere noi, fișierul git add comanda ar trebui invocată pentru a aranja fișierele înainte ca acestea să poată fi trimise în depozit.

Un exemplu de utilizare a fișierului -a opțiune:

git commit -am “My new changes”

Ieșirea din terminalul dvs. ar trebui să arate cam așa:

[master 22gc8v1] My new message
 1 file changed, 1 insertion(+)

Utilizarea mesajelor de confirmare detaliate

Cu toate că git commit -m "commit message" funcționează foarte bine, poate fi util să oferiți informații mai detaliate și sistematice.

Dacă vă angajați fără a utiliza -m opțiunea, git vă va deschide editorul de text implicit cu un fișier nou, care va include o listă comentată a tuturor fișierelor / modificărilor care sunt organizate în comitere. Apoi scrieți mesajul dvs. de confirmare detaliat (prima linie va fi tratată ca linia subiectului), iar validarea va fi efectuată atunci când salvați / închideți fișierul.

Ține minte:

  • Păstrați lungimea liniilor de mesaj de confirmare mai mică de 72 de caractere ca practică standard
  • Este perfect ok – și chiar recomandat – să scrieți mesaje de confirmare pe mai multe linii
  • De asemenea, puteți face referire la alte probleme sau trage cereri în mesajul dvs. de confirmare. GitHub a alocat o referință de număr tuturor solicitărilor și problemelor de extragere, așa că, de exemplu, dacă doriți să consultați cererea de extragere # 788, pur și simplu faceți acest lucru fie în linia subiectului, fie în textul corpului, după caz.

Opțiunea —amend

--amend opțiunea vă permite să modificați ultima comitere. Să presupunem că tocmai ați comis și că ați făcut o greșeală în mesajul jurnal de comitere. Puteți modifica convenabil cea mai recentă validare folosind comanda:

git commit --amend -m "an updated commit message"

Dacă uitați să includeți un fișier în commit:

git add FORGOTTEN-FILE-NAME
git commit --amend -m "an updated commit message"

# If you don't need to change the commit message, use the --no-edit option
git add FORGOTTEN-FILE-NAME
git commit --amend --no-edit

Comitetele premature se întâmplă tot timpul pe parcursul dezvoltării de zi cu zi. Este ușor să uitați să organizați un fișier sau cum să vă formatați corect mesajul de confirmare. --amend pavilion este o modalitate convenabilă de a remedia aceste greșeli minore. Această comandă va înlocui vechiul mesaj de validare cu cel actualizat specificat în comandă.

Confirmările modificate sunt de fapt confirmări complet noi, iar confirmarea anterioară nu va mai fi în filiala dvs. curentă. Când lucrați cu alții, ar trebui să încercați să evitați modificările de confirmare dacă ultima confirmare este deja împinsă în depozit.

Cu --amend, unul dintre steagurile utile pe care le-ați putea folosi este --author care vă permite să schimbați autorul ultimei comisii pe care ați făcut-o. Imaginați-vă o situație în care nu v-ați configurat corect numele sau adresa de e-mail în configurațiile git, dar ați făcut deja un commit. Cu --author semnalizator le puteți schimba pur și simplu fără a reseta ultima comitere.

git commit --amend --author="John Doe <[email protected]>"

Opțiunea -v sau —verbose

-v sau --verbose opțiunea este utilizată fără -m opțiune. -v opțiunea poate fi utilă atunci când doriți să editați un mesaj de validare Git în editorul dvs. implicit, în timp ce puteți vedea modificările pe care le-ați făcut pentru validare. Comanda deschide editorul de text implicit cu un șablon de mesaj de confirmare precum și o copie a modificărilor pe care le-ați făcut pentru acest commit. Modificările sau diferențele nu vor fi incluse în mesajul de confirmare, dar oferă un mod frumos de a face referire la modificările dvs. atunci când le descrieți în mesajul de confirmare.

Cum să strângeți mai multe comitere într-una

Aceasta este o caracteristică minunată a rebase care poate fi folosit în interactive modul. Să zdrobim ultimul n se angajează într-una, rulați următoarea comandă:

git rebase -i HEAD~n

Aceasta va deschide un editor de text cu ceva similar cu următorul:

pick commit_1
pick commit_2
pick commit_3
...
pick commit_n
# Bunch of comments

Lăsați primul commit singur și schimbați restul picks la squash. Salvați și ieșiți din editor.

Deci, dacă ați dorit să eliminați ultimele trei confirmări, mai întâi veți rula git rebase -i HEAD~3 și apoi veți dori să vă editați confirmările pentru a arăta așa:

pick dd661ba Commit 1
squash 71f5fee Commit 2
squash f4b4bf1 Commit 3

Dacă ați trecut deja la o telecomandă înainte de a vă împiedica comitetele, va trebui să apăsați din nou la telecomandă, cu -f flag, altfel git va arunca o eroare asupra ta.

Se recomandă să citiți informațiile din fișierul deschis, deoarece puteți face multe lucruri.

Mai multe informatii: