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

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

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

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

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

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

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

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

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

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

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

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

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

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

 git reset - твърда дръжка на git 

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

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

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

 git add $ the_file_under_error git počin git издърпайте 

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

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

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

 git stash save --kekeep-index 

или

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

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

 git скривалище се прилага 

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

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

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

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

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

 git checkout path / to / file / to / revert 

или

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

Също така, трябва да сте сигурни, че файлът не е поставен чрез:

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

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

 дръпване 

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

Интересни Статии