Git revert

Git revert


ULASHISH

Git revert nima qiladi?

git revert buyrug‘i o‘zgarishlarni teskarisiga qaytaradigan yangi commit yaratish orqali oldingi commit’ni bekor qiladi.

Bu commit tarixingizni butunligicha saqlaydi va umumiy repozitoriyda o‘zgarishlarni bekor qilishning eng xavfsiz usuli hisoblanadi.


Git revert buyruqlari va parametrlarining qisqacha mazmuni

  • git revert HEAD - Eng so‘nggi commit’ni revert qilish
  • git revert <commit> - Muayyan commit’ni revert qilish
  • git revert HEAD~2 - Tarixda ancha oldingi commit’ni revert qilish
  • git revert --no-edit - Commit xabari muharririni o‘tkazib yuborish
  • git log --oneline - Commit tarixini ko‘rsatish

Revert qilinadigan commit’ni qanday topish mumkin

Avval bekor qilmoqchi bo‘lgan commit’ingizni topishingiz kerak.

Commit tarixingizning qisqacha ko‘rinishini ko‘rish uchun git log --oneline buyrug‘idan foydalaning:

Misol

git log --oneline
52418f7 (HEAD -> master) Just a regular update, definitely no accidents here...
9a9add8 (origin/master) Added .gitignore
81912ba Corrected spelling error
3fdaa5b Merge pull request #1 from w3schools-test/update-readme
836e5bf (origin/update-readme, update-readme) Updated readme for GitHub Branches
daf4f7c (origin/html-skeleton, html-skeleton) Updated index.html with basic meta
facaeae (gh-page/master) Merge branch 'master' of https://github.com/w3schools-test/hello-world
e7de78f Updated index.html. Resized image
5a04b6f Updated README.md with a line about focus
d29d69f Updated README.md with a line about GitHub
e0b6038 merged with hello-world-images after fixing conflicts
1f1584e added new image
dfa79db updated index.html with emergency fix
0312c55 Added image to Hello World
09f4acd Updated index.html with a new line
221ec6e First release of Hello World!


Git revert’ni ishga tushirish

Bekor qilmoqchi bo‘lgan commit’ni topganingizdan so‘ng, o‘zgarishlarni teskarisiga qaytaradigan yangi commit yaratish uchun git revert buyrug‘idan foydalaning:

Misol

git revert HEAD --no-edit
[master e56ba1f] Revert "Just a regular update, definitely no accidents here..."
 Date: Thu Apr 22 10:50:13 2021 +0200
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 img_hello_git.jpg

Git revert’dan keyin o‘zgarishlarni ko‘zdan kechirish

git revert buyrug‘ini ishga tushirgandan so‘ng hammasi kutilganidek ekaniga ishonch hosil qilish uchun o‘zgarishlarni ko‘zdan kechiring:

Misol

git log --oneline
e56ba1f (HEAD -> master) Revert "Just a regular update, definitely no accidents here..."
52418f7 Just a regular update, definitely no accidents here...
9a9add8 (origin/master) Added .gitignore
81912ba Corrected spelling error
3fdaa5b Merge pull request #1 from w3schools-test/update-readme
836e5bf (origin/update-readme, update-readme) Updated readme for GitHub Branches
daf4f7c (origin/html-skeleton, html-skeleton) Updated index.html with basic meta
facaeae (gh-page/master) Merge branch 'master' of https://github.com/w3schools-test/hello-world
e7de78f Updated index.html. Resized image
5a04b6f Updated README.md with a line about focus
d29d69f Updated README.md with a line about GitHub
e0b6038 merged with hello-world-images after fixing conflicts
1f1584e added new image
dfa79db updated index.html with emergency fix
0312c55 Added image to Hello World
09f4acd Updated index.html with a new line
221ec6e First release of Hello World!

Maslahatlar va eng yaxshi amaliyotlar

Git revert’dan foydalanishda yodda tutish kerak bo‘lgan ba’zi maslahatlar va eng yaxshi amaliyotlar:

  • Oldingi commit’ni bekor qilmoqchi bo‘lsangiz-u, lekin commit tarixini butunligicha saqlab qolmoqchi bo‘lsangiz, git reset o‘rniga git revert buyrug‘idan foydalaning.
  • Bekor qilmoqchi bo‘lgan commit’ni topish uchun git log --oneline buyrug‘idan foydalaning.
  • O‘zgarishlarni teskarisiga qaytaradigan yangi commit yaratish uchun git revert HEAD --no-edit buyrug‘idan foydalaning.

Muammolarni bartaraf etish

Git revert’dan foydalanishda duch kelishingiz mumkin bo‘lgan ba’zi keng tarqalgan muammolar:

  • Agar “error: could not revert...” degan xato xabarini olsangiz, revert jarayonini to‘xtatish uchun git revert --abort buyrug‘idan foydalanib ko‘ring.
  • Agar “error: could not apply...” degan xato xabarini olsangiz, revert jarayonini davom ettirish uchun git revert --continue buyrug‘idan foydalanib ko‘ring.



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!