Сливането в Git не винаги протича така, както сте се надявали. Това може да причини множество проблеми, които водят до проблеми с кода. За щастие можете просто да отмените сливания, за да отмените тях и нежеланите промени, които са въвели.

Прочетете, за да откриете всичко, което трябва да знаете за това как да върнете сливане в Git.
Как да върнете сливане локално с помощта на Git Revert
Git е удобен инструмент за разработка на софтуер, който позволява на разработчиците да си сътрудничат върху един изходен код едновременно в различни клонове. Обединяването на тези отделни клонове не винаги работи по план и точно тогава командата за връщане е полезна.
Ето стъпките за локално връщане на обединяване чрез git revert:
- Отидете до клона, в който ангажиментът за сливане трябва да бъде отменен.
- Въведете и изпълнете командата git log с поне параметъра –oneline за видимост, за да видите хронологията на ангажиментите си.

- Въведете git revert последвано от -m 1 .

- Използвайте командата git push, за да отмените ангажимента за сливане локално.

Локалното връщане на сливане чрез git revert ще създаде нов ангажимент и ще отмени сливането и последващите промени, но не премахва хронологията на сливането. Ако вече сте прехвърлили сливането в отдалеченото хранилище, тогава ще трябва да използвате по-драстични мерки.
За да върнете натиснато обединяване, следвайте стъпки от 1 до 3 и след това заменете стъпка 4 със следното:
4. Въведете git push –force, за да отмените ангажимента за сливане в отдалеченото хранилище.

За разлика от локалното обръщане на сливане, отмяната на сливане, което е било насочено към отдалеченото хранилище, има потенциала да изтрие окончателно ангажиментите и техните промени. Следователно е изключително важно да създадете резервен клон, преди да го направите.
Как да прекъснете сливане в Git
За разлика от опцията за връщане на git, опцията за прекъсване на сливането на git се използва за изоставяне на сливане, което в момента е в ход, за обръщане на сливането и неговите промени. Прекратяването на сливането ще нулира директорията, в която работите, обратно към нейното състояние преди сливането, позволявайки конфликтите да бъдат коригирани преди сливането отново.
Имайте предвид, че това работи само ако Git отчита проблеми в резултат на сливане. Ако сливането е успешно, няма да можете да използвате командата.
Ето как прекъсвате сливането в Git:
- Отидете до хранилището, в което се извършва сливането.
- Използвайте git status, за да проверите хранилището и да намерите текущия процес на сливане.

- Въведете и изпълнете командата git merge –abort .

- Натиснете Enter, за да прекратите сливането.

Как да отмените сливане с помощта на Git Hard Reset
Опцията за твърдо нулиране на Git е най-мощният начин за отмяна на сливане в Git. Тази команда позволява на разработчиците да отменят промените в директорията, в която работят, като преместят указателя на клон към различен ангажимент. Недостатъкът на тази опция е, че тя ще отхвърли всички промени в работната директория и зоната за етап.
Следвайте стъпките по-долу, за да отмените сливане с помощта на git hard reset:
- Придвижете се до клона, в който ангажиментът за сливане трябва да бъде отменен.
- Използвайте git log с поне параметъра –oneline за видимост, за да видите хронологията на ангажиментите си.

- Въведете git reset –hard и интервал.

- Въведете хеша на комит, който искате да върнете.
- Натиснете Enter, за да отмените сливането и неговите промени.

Опцията за твърдо нулиране на git е изключително мощно оръжие във вашия арсенал за нулиране на текущия клон към конкретен ангажимент. Въпреки това, поради неговите далечни последици, трябва да се използва с повишено внимание, за да се избегне загуба на данни. Въпреки че е полезно, когато искате напълно да изтриете ангажимент и свързаните с него промени в директорията.
Как да отмените сливане с помощта на Git Soft Reset
Функцията за меко нулиране в Git нулира указателя на клона по същия начин като функцията за твърдо нулиране. Това обаче не премахва промените в директорията. Следователно е удобно, когато искате да отмените сливането, но да запазите промените в работната директория за по-късна модификация.
Ето как го правите:
- Отидете до клона, в който ангажиментът за сливане трябва да бъде отменен.
- Въведете git log с поне параметъра –oneline за видимост, за да видите хронологията на ангажиментите си.

- Въведете командата git reset –soft . Разменете с хеша на комита, който искате да върнете.

- Натиснете Enter , за да отмените сливането с меко нулиране.

Защо ви е необходимо да върнете сливане в Git
Функцията за връщане на сливането е един от инструментите за коригиране в Git. Помага ви да коригирате всички грешки или непреднамерени проблеми, създадени по време на сливането. Той може да коригира много проблеми, които идват от опитите за подравняване на множество части от код, създадени от различни разработчици.
Проблеми с интеграцията
Когато клоновете се сливат, това често може да доведе до непредвидени интеграционни конфликти, които са риск за изходния код. Следователно връщането на сливането е безопасен начин за премахване на промените, които са отговорни за проблемите с интеграцията. Това ще запази целостта на изходния код непокътната и ще ви даде време да коригирате грешката, преди да обедините отново.
бъгове
Освен проблеми с интеграцията, сливането може да доведе и до грешки. Когато се сливате в Git, вие по същество сглобявате промени, които често са правени напълно независимо. Ако всеобхватното тестване не е завършено за промени във всички обединени клонове, някои грешки може да са си проправили път в кода. Следователно връщането на сливания ще ви позволи да се върнете към стабилно състояние, което ще ви даде време да идентифицирате и коригирате произхода на грешките.
Грешки
Това е една от най-честите причини за използване на функцията за връщане на обединяване, защото никой не е имунизиран от грешки. В Git дори малки грешки, като случайно сливане с неправилната глава, могат да доведат до проблеми. За щастие, грешките могат бързо да бъдат отстранени чрез използване на функцията Git merge revert.
Стандарти
Кодирането трябва да е прецизно, за да функционира по предназначение. Следователно, ако обединените клонове доведат до код под очаквания стандарт, тогава връщането на сливането ще премахне подпаритетния код. Това ще ви позволи да поддържате качеството на кода на очакваното ниво и да гарантирате, че той не нарушава никакви протоколи за кодиране.
Сътрудничество
Git е най-добрият инструмент за сътрудничество, когато става въпрос за екип от разработчици, работещи по проект. Той отваря вратата към свят на сътрудничество, който позволява на произволен брой хора да работят заедно съгласувано върху разработката на софтуер. Сливането е съществена характеристика, защото ако членовете на екипа не могат да свържат своите клонове, те просто няма да могат да интегрират работата, която са свършили. Като се има предвид обаче, че работата е извършена независимо, сливането не винаги върви според очакванията и връщането на сливането осигурява идеалното решение.
Revert Merge помага да се направи перфектен код
Кодирането е прецизно и сложно и дори най-малката грешка може да се превърне в огромен проблем, когато клоновете се слеят, което води до нефункциониращ код. Функцията за обратно сливане на Git е перфектният механизъм за разединяване на клонове, които съдържат грешки, бъгове и други подобни.
Връщането на сливане в Git върви ли по план и имате ли други хакове за това как да върнете сливане, без да засягате изходния код? Уведомете ни в секцията за коментари по-долу.