Linux

Как да отмените последния Git ангажимент

Как да отмените последния Git ангажимент

Понякога, когато работите с Git, може да искате да отмените най-новия коммит. Фиксацията е моментна снимка на Git хранилище в даден момент. Git има референтна променлива, наречена ГЛАВА което сочи към последния ангажимент в текущия работещ клон. За да отмените ангажимент, всичко, което трябва да направите, е да посочите ГЛАВА променлива към предишната снимка.

Това ръководство обяснява как да отмените последния Git коммит.

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

Git Архитектура от три дървета #

В Git можете да отмените промените с помощта на git нулиране команда, последвана от идентификатора на фиксиране.

git нулиране взема допълнителни аргументи, които ви позволяват да контролирате поведението на командите. За да разберем по-добре как нулиране работи, нека поговорим за трите различни дървета на Git. Архитектурата от три дървета е ключовата концепция на системата за управление на Git. Те се наричат ​​дървета, защото представляват колекции от файлове.

Git управлява и манипулира следните три дървета:

The git нулиране команда има три аргумента, които съответстват на трите дървета:

Отмяна на последния фиксиран номер

За да отмените последния ангажимент, без да загубите направените от вас промени в локалните файлове и индекса, извикайте git нулиране с --мека опция, последвана от ГЛАВА ~ 1:

git reset --soft HEAD ~ 1

ГЛАВА ~ 1 е променлива, която сочи към предишния коммит. Командата по-горе премества текущия клон назад с един ангажимент, като ефективно отменя последния ви ангажимент. Ако стартирате git статус команда, ще видите, че променените файлове са изброени като неангажирани промени.

За да актуализирате ГЛАВА указател за нулиране на индекса, изпълнете git нулиране с --смесени или без опция:

git reset --mixed HEAD ~ 1git reset HEAD ~ 1

Променените файлове се поддържат, но за разлика от предишния пример, сега промените не се организират за фиксиране.

Ако не искате да запазите промените, които сте направили във файловете, извикайте git нулиране команда с --трудно опция:

git reset --hard HEAD ~ 1

Преди да извършите хардуерно нулиране, уверете се, че вече не се нуждаете от промените.

Отмяна на множество ангажименти #

С git нулиране, можете да се върнете към всеки предишен ангажимент.

Например, за да преместите текущия клон назад с три фиксации, ще използвате:

git reset --hard HEAD ~ 3

Тъй като използваме --трудно, командата по-горе ще премахне последните три снимки от историята на фиксиране.

Друг начин да се върнете към определен ангажимент е да предадете идентификатора на ангажимента на git нулиране команда.

Използвайте git log --oneline за да намерите идентификаторите на фиксиране:

git log --oneline

Командата ще покаже списък на всички фиксирания, включително ID и първия ред на съобщението за фиксиране:

32921222 (HEAD -> master) Актуализация на дневника за промени 7505724c добавяне на нови тестове 750862ce нов пост в блога 95a63417 сортиране на конфигурационен файл 252032e4 Refactor потребителски клас .. 

След като разберете идентификатора на фиксацията, към който искате да нулирате, просто предайте идентификатора на git нулиране команда:

git нулиране - твърд 95a63417

Заключение №

За да отмените последния фиксиране, използвайте git нулиране команда. Не нулирайте натиснатите ангажименти, тъй като това може да причини много проблеми на вашите колеги.

Ако срещнете проблем или имате обратна връзка, оставете коментар по-долу.

Добавете жестове на мишката към Windows 10, като използвате тези безплатни инструменти
През последните години компютрите и операционните системи значително се развиха. Имаше време, когато потребителите трябваше да използват команди за на...
Контролирайте и управлявайте движението на мишката между множество монитори в Windows 10
Двоен дисплей на мишката ви позволява да контролирате и конфигурирате движението на мишката между множество монитори, като забавя движенията му близо ...
WinMouse ви позволява да персонализирате и подобрите движението на показалеца на мишката на компютър с Windows
Ако искате да подобрите функциите по подразбиране на показалеца на мишката, използвайте безплатна програма WinMouse. Той добавя още функции, за да ви ...