Как да коригирам Git Error & lsquo; Вашите локални промени в следните файлове ще бъдат заменени от merge & rsquo;

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

Git Error: Вашите локални промени в следните файлове ще бъдат заменени чрез обединяване по време на кодиране

Това съобщение за грешка се избягва, АКО в отдалеченото хранилище няма неотменени файлове, които също имат модификации. Когато изпитвате това съобщение, най-добре е да се консултирате с другите си членове на екипа и да попитате за тяхното мнение. Независимо дали искате да обедините локалните си промени или да запазите версията в хранилището, най-добре е да запазите всички на борда.

Какво представляват хранилищата? Какво представляват push и pull в Git?

Хранилището е вид хранилище за код, което постоянно се модифицира и получава от членовете на екипа чрез механизма за контрол на версиите на GitHub. „ Издърпване“ означава, че изтегляте най-новата версия на хранилището във вашето локално хранилище / IDE (интегрирана среда за разработка) като Pycharm и др.

След издърпване правите промени в кода или добавяте повече функции. След като приключите, вие натискате кода в хранилището, така че промените се запазват и се правят добавки. Кодът става достъпен и за други хора.

Ако не сте запознати с контрола на версиите на Github, препоръчително е първо да преминете през всички основни положения. В тази статия предполагаме, че вече имате основни познания и знаете всички тънкости.

Как да коригирам „Вашите локални промени в следните файлове ще бъдат заменени чрез обединяване“?

Разделителната способност на това съобщение за грешка зависи от това, което искате да направите. Можете да отхвърлите локалните си промени и да изтеглите тези в хранилището или да запазите локалните промени в скривалище и да изтеглите версията от хранилището. Всичко зависи от вашите предпочитания.

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

Метод 1: Принуждаване на изтегляне за презаписване на локални промени

Ако не ви е грижа за промените, направени локално и искате да получите кода от хранилището, можете да принудите да изтеглите. Това ще замени всички локални промени, направени на вашия компютър, ще се появи дублирано копие на версията в хранилището.

Изпълнете следните команди във вашата IDE:

git reset - твърд git pull

Това незабавно ще унищожи всички ваши локални промени, така че се уверете, че знаете какво правите и не се нуждаете от вашите локални промени.

Метод 2: Запазване на двете промени (локални и от репото)

Ако искате да запазите и двете промени (промените, направени локално и промените, налични в хранилището), можете да добавите и да извършите промените. Когато дърпате, очевидно ще има конфликт на сливане. Тук можете да използвате инструментите във вашата IDE (като Difftool и mergetool), за да сравните двете части на кода и да определите кои промени да запазите и кои да премахнете. Това е средният път; няма да бъдат загубени промени, докато не ги премахнете ръчно.

git добави $ the_file_under_error git commit git pull

Когато получите конфликт на сливане, извадете тези инструменти за разрешаване на конфликти и проверете ред по ред.

Метод 3: Запазване на двете промени, НО не ангажиране

Тази ситуация се случва от време на време, когато разработчиците не са готови да се ангажират, защото има някакъв частично счупен код, който отстранявате. Тук можем безопасно да скрием промените, да изтеглим версията от хранилището и след това да дезактивираме вашия код.

git stash save --keep-index

или

git скривалище
git pull git stash pop

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

git stash се прилага

вместо поп, ако не сте готови да загубите скрития код поради конфликти.

Ако обединяването не ви се струва жизнеспособна опция, помислете дали да не направите повторно базиране. Пребазирането е процес на преместване или комбиниране на последователност от ангажименти към нов базов ангажимент. В случай на пребазиране, променете кода на:

git stash git pull --rebase master master git stash pop

Метод 4: Направете промени в „специфични“ части на вашия код

Ако искате да направите промени в определени части на кода и не искате да замените всичко, можете да ангажирате всичко, което не искате да презапишете и след това да следвате метод 3. Можете да използвате следната команда за промените, които искате да презапишете от версията, присъстваща в хранилището:

git checkout път / към / файл / към / връщане

или

git checkout HEAD ^ път / към / файл / към / връщане

Освен това трябва да се уверите, че файлът не е инсцениран чрез:

git reset HEAD path / to / file / to / revert

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

git pull

След това ще се опита да изтегли версията от хранилището.