Git

Как да се върна към предишен комит в Git?

Как да се върна към предишен комит в Git?
Командата “git revert” извършва удивително полезна операция в Git средата. Понякога искате да отмените промените, които веднъж сте извършили, без действително да премахвате тези промени от „git log“, така че винаги да можете да ги повторите в бъдеще, когато пожелаете. Командата “git revert” точно ви позволява да го направите. Това означава, че можете лесно да анулирате или анулирате ефекта на който и да е предишен ангажимент, без действително да го премахвате от вашата история на Git. Следователно, тази статия има за цел да ви научи на метода за връщане към предишен коммит в Git в Ubuntu 20.04.

Метод за връщане към предишен фиксиране в Git в Ubuntu 20.04:

За да ви обясня метода за връщане към предишен коммит в Git в Ubuntu 20.04, ние разработихме примерен сценарий. В този сценарий първо ще модифицираме вече съществуващ файл с име abc.текст. Също така имаме два други файла в нашия хранилище на тестов проект, наречен Stash1.txt и Stash2.txt, който не сме ангажирали преди това. Така че, ние ще извършим всички тези промени наведнъж. След това ще се опитаме да се върнем към предишно състояние i.д. състояние, в което нито файловете Stash1.txt и Stash2.txt съществуваше, нито файлът abc.txt беше модифициран. За да разгледаме допълнително този сценарий, бихме искали да ви преведем през следните стъпки:

Стъпка # 1: Превключете към вашия Git Project Directory:

Първо, ще отидем в директорията, където се намира нашето хранилище на Git проекта, по начина, показан по-долу:

cd / home / kbuzdar / simplegit-progit

След като тази команда се изпълни, тя ще промени пътя по подразбиране на вашия терминал, както е показано на следното изображение:

Стъпка 2: Избройте съдържанието на вашата директория за проекти на Git:

Сега ще изброим съдържанието на нашето хранилище на тестов проект, за да видим кои файлове вече са там. Съдържанието на нашето хранилище за проекти на Git може да бъде изброено с помощта на командата, посочена по-долу:

ls

Съдържанието на нашето хранилище за проекти на Git е показано на следното изображение:

Стъпка # 3: Отворете и променете всеки файл във вашата директория на Git Project:

Избрахме файла abc.txt от нашето хранилище за проекти на Git за промяна. Сега ще отворим този файл с нано редактора по начина, показан по-долу:

sudo nano abc.текст

В този файл има написан произволен текст, както е показано на следващото изображение:

Ще модифицираме този текст, като добавим „не“ в него, както е показано на изображението по-долу. След като направим тази модификация, ние просто ще излезем от нано редактора, докато запазваме файла си abc.текст.

Стъпка # 4: Реинициализирайте вашето хранилище на Git Project:

След като направим всички желани промени, трябва да реинициализираме нашето хранилище на проекти Git с помощта на следната команда:

git init

След изпълнението на тази команда Git ще се инициализира, докато показва съобщението, показано на изображението по-долу на вашия терминал:

Стъпка # 5: Добавете промените към вашето хранилище на Git Project:

Сега трябва да добавим промените към нашето хранилище на проекти Git, като изпълним следната команда:

git add.

Успешното изпълнение на тази команда няма да покаже нищо на нашия Ubuntu 20.04 терминал.

Стъпка # 6: Ангажирайте нововъведените промени във вашето хранилище на Git Project:

След добавяне на промените в нашето хранилище на проекти Git, ние ще извършим тези промени със следната команда:

git commit -m “Съобщението, което трябва да се покаже”

Тук можете да промените „Съобщение за показване“ с действителното съобщение, което искате да се показва, докато тази команда се изпълнява.

Когато тази команда се изпълни, ще забележите, че двата ни файла, които не са били ангажирани преди това i.д. Скривалище1.txt и Stash2.txt ще бъде ангажиран.

Стъпка # 7: Проверете историята на Git commit:

Сега ще проверим историята на комита на Git, за да видим дали последният ни ангажимент е регистриран или не. Историята на фиксиране на Git може да бъде проверена със следната команда:

git log --pretty = oneline

Можете лесно да видите от историята на Git на комита, показана на изображението по-долу, че Head посочва последния ни коммит i.д. транзакцията, при която сме ангажирали файловете Stash1.txt, Stash2.txt и abc.txt (след модификация). Също така ще отбележим идентификатора на транзакцията на този ангажимент от историята на фиксирането, за да можем да го върнем в следващата стъпка, докато използваме този идентификатор.

Стъпка # 8: Извършете операцията “git revert”:

Първите пет знака от идентификатора на транзакцията на последната ни транзакция са 220ac. Тези символи ще бъдат използвани за препращане към този ангажимент. Сега ще върнем този ангажимент с помощта на следната команда:

git revert 220ac

Когато тази команда се изпълни, тя ще покаже съобщение в нано редактора, че транзакцията ви с идентификатора на транзакцията 220ac ще бъде върната, както е показано на изображението по-долу:

Трябва да натиснете Ctrl + X, след като видите това съобщение, за да можете да видите точното състояние на вашия терминал, както е показано на следващото изображение. Този статус ще ни покаже, че промените, направени по-рано i.д. модификацията на abc.txt и добавянето на Stash1.txt и Stash2.txt са върнати. Това също означава, че сега нашият файл abc.txt ще се върне в предишното състояние i.д. той ще представя оригиналното си съдържание без промяна. Освен това файловете Stash1.txt и Stash2.txt ще бъде изтрит.

Стъпка # 9: Проверете отново историята на Git commit:

Сега ще проверим отново историята на ангажирането си в Git, за да видим текущата ситуация. Ако операцията по връщане е извършена успешно, тогава ръководителят на нашия проект ще сочи към тази сделка за връщане, както е подчертано на изображението, показано по-долу:

Стъпка # 10: Проверете дали командата “git revert” е работила успешно или не:

Въпреки това, вече видяхме, че в момента ръководителят на проекта сочи към връщащата транзакция, което е достатъчно, за да покаже, че командата „git revert“ е функционирала правилно. Все пак можем да го гарантираме, като проверим състоянието на Git. Тук ще можем да видим, че няма да има повече файлове, които да бъдат ангажирани като тези, които са били там преди.д. Stash1 и Stash2 вече са изтрити от операцията по връщане. Следователно няма да има повече нови файлове, които да бъдат ангажирани, както е показано на следващото изображение:

Също така, можем да се опитаме да изброим съдържанието на нашето хранилище за проекти на Git, за да потвърдим изтриването на файловете Stash1.txt и Stash2.txt, както е показано на изображението по-долу. Тук трябва да се отбележи, че файловете Stash1.txt и Stash2.txt са били изтрити от нашата операция по връщане само защото преди извършването на транзакцията с идентификатор на транзакцията 220ac не е съществувало тези два файла. Ето защо в резултат на връщането на този ангажимент тези файлове вече няма да съществуват. Ако обаче ще извършите операцията за връщане отново за тази транзакция за връщане i.д. ще се опитате да анулирате ефекта от операцията по връщане, която току-що сте извършили, след това ще можете да видите тези два файла отново.

И накрая, можем да проверим и нашия файл abc.txt за пореден път, за да видите дали се е върнал с оригиналното си съдържание или не. Ние просто ще отворим този файл отново с нано редактора и ще забележите от следващото изображение, че модификацията, която направихме по-рано на този файл, е върната.

Заключение:

Като преминете през подробния сценарий, представен ви в тази статия, ще се надяваме, че ще можете да използвате командата „git revert“ в Ubuntu 20.04 по много ефективен начин. Тази команда ще отмени ефекта на всяка предишна транзакция, като същевременно запази влизането си в „git log“, така че по всяко време, можете удобно да се върнете към тази транзакция. С други думи, можем да кажем, че командата “git revert” извършва транзакция, която е точно обратна на команда, която е била ангажирана преди това (без да се изтрива предишният ангажимент). Точно затова успява да отмени ефекта си.

OpenTTD срещу Simutrans
Създаването на собствена транспортна симулация може да бъде забавно, релаксиращо и изключително примамливо. Ето защо трябва да сте сигурни, че изпробв...
Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...