Cum cu Git: Rollback Commit
Dacă ați făcut modificări în depozitul dvs. Git și ați făcut o greșeală, este întotdeauna plăcut să știți că aveți o modalitate de a vă anula comisioanele pentru a vă restabili fluxul de lucru. În acest ghid, ne vom uita la comanda git revert pentru comiterea locală și la distanță într-un depozit.
Este important să înțelegeți diferența dintre git reset și git revert înainte de a vă scufunda.
Avantajele git revert față de git reset
Revenirea are două avantaje importante față de resetare:
- Revenirea nu modifică istoricul proiectului, ceea ce o face o operațiune mai sigură pentru comiterile care au fost deja trimise într-un depozit partajat.
- Revenirea poate viza o comitere individuală într-un punct arbitrar al istoricului, în timp ce dacă utilizați git reset , poate funcționa numai înapoi de la comiterea curentă.
Folosind comanda git revert la Rollback a Commit
Sintaxa comenzii pentru git revert este:
git revine
În cazul în care este descris în oricare dintre formularele acceptate de ID de comitere pe care Git le înțelege.
Puteți folosi git reflog pentru a vedea istoricul local Git cu ID-urile de comitere prescurtate sau utilizați git log pentru a găsi ID-urile de comitere SHA-1 de formă mai lungă pentru întregul istoric Git comis.
$ git reflog bc32b0d [email protected] {0}: commit: Adăugat contact-us.htm ead83d9 [email protected] {1}: commit: Adăugat blog.htm $ git log commit bc32b0d8a583ccc3b0bcc9fbdfe3c7bbd1b4f: Tumbd1 Autor: 1 Februarie: 1 Februarie: 38:32 2015 -0500 Adăugat contact-us.htm commit ead83d9f1d800de241580070d22a17f769ea7866 Autor: Utilizator Data: Mar 10 februarie 12:38:00 2015 -0500m Adăugat blog
Comanda git reflog înregistrează un istoric cronologic al tot ceea ce ați făcut în depozitul dvs. local. Ieșirea sa completă ar putea arăta astfel:
bc32b0d [email protected] {1}: commit: adăugat contact-us.htm ead83d9 [email protected] {2}: commit: adăugat blog.htm 1a890e7 [email protected] {3}: commit: adăugat about-us.htm bf58ea1 [email protected] {4}: commit: adăugat index.htm 5c66257 [email protected] {5}: commit (inițial): adăugat README.md
Cazul 1: Revenirea unui singur Git Commit local
Acum să presupunem că, deoarece tocmai ați adăugat un fișier contact-us.htm la proiectul dvs., v-ați dat seama că nu mai aveți nevoie de fișierul about-us.htm .
Puteți reveni la momentul la care ați efectuat această comitare și puteți păstra toate modificările după aceea, făcând următoarele:
git rever 1a890e7
Git vă va solicita cu o notă nouă pentru această comitare de retur, oferindu-vă o valoare implicită de:
Revenire la „Adăugat about-us.htm” Aceasta revine comiterea 1a890e7980283e348cde0444cabe709f6342a851.
Continuați și salvați acea notă sau creați-vă propria pentru a finaliza anularea:
[master 2bbaed3] Revenire la „Adăugat about-us.htm” 1 fișier schimbat, 1 ștergere(-) mod ștergere 100644 about-us.htm
Aceasta va anula o comitere specifică, locală. Comiterile mai noi și istoricul Git sunt păstrate.
$ git reflog 2bbaed3 [email protected] {0}: retur: Revertire „Adăugat about-us.htm” bc32b0d [email protected] {1}: commit: Adăugat contact-us.htm ead83d9 [email protected] {2}: commit : S-a adăugat blog.htm 1a890e7 [email protected] {3}: commit: Adăugat about-us.htm bf58ea1 [email protected] {4}: commit: Adăugat index.htm 5c66257 [email protected] {5}: commit (inițial) : S-a adăugat README.md $ ls blog.htm contact-us.htm index.htm README.md
Cazul 2: inversarea unui interval de comitere Git locale
Pentru a anula toate acțiunile locale de la „1a890e7” la „HEAD”, utilizați următoarele:
git rever 1a890e7..HEAD
Cazul 3: Revenirea unui commit Git care a fost împins
După ce verificați depozitul de la distanță, puteți utiliza mai întâi git revert și apoi apăsați ca de obicei:
git retur 1a890e7980283e348cde0444cabe709f6342a851 git push origin
Cazul 4: Refacerea unui interval de comite-uri Git care au fost împinse
De asemenea, putem anula un set de comiteri push:
git retur 1a890e7980283e348cde0444cabe709f6342a851..ead83d9f1d800de241580070d22a17f769ea7866 git push origin
Trebuie doar să anulați o comitere locală rapidă? Utilizați git reset
Uneori, dacă faceți doar o greșeală locală rapidă, este posibil să nu doriți să utilizați git revert și, în schimb, s-ar putea să doriți doar să utilizați git reset.
Oricum ar fi, sperăm că acum ar trebui să înțelegeți cum să remediați o comitere greșită pe care ați făcut-o accidental cu Git. Procesul poate părea complicat și înfricoșător la început, dar este de fapt destul de simplu de înțeles odată ce ați trecut singur prin procesul de câteva ori.
Dezvăluirea agentului de publicitate
Gazduirweb este o resursă online gratuită care oferă utilizatorilor conținut valoros și servicii de comparare. Pentru a menține această resursă 100% gratuită, primim compensații de la multe dintre ofertele afișate pe site. Alături de factorii cheie de revizuire, această compensație poate afecta modul în care și locul în care apar produsele pe site (inclusiv, de exemplu, ordinea în care apar). Gazduirweb nu include întregul univers al ofertelor disponibile. Opiniile editoriale exprimate pe site sunt strict ale noastre și nu sunt furnizate, susținute sau aprobate de agenții de publicitate.
Politica noastră de revizuire editorială
Site-ul nostru se angajează să publice conținut independent, precis, ghidat de reguli editoriale stricte. Înainte ca articolele și recenziile să fie publicate pe site-ul nostru, acestea sunt supuse unui proces amănunțit de revizuire efectuat de o echipă de editori independenți și experți în materie pentru a asigura acuratețea, actualitatea și imparțialitatea conținutului. Echipa noastră editorială este separată și independentă de agenții de publicitate ai site-ului nostru, iar opiniile pe care le exprimă pe site-ul nostru sunt proprii. Pentru a citi mai multe despre membrii echipei noastre și despre mediul lor editorial, vă rugăm să vizitați pagina Despre a site-ului nostru.
Leave a Reply