Як виправити помилку Git "Ваші локальні зміни до наступних файлів будуть замінені об'єднанням"

Повідомлення про помилку " Ваші локальні зміни в наступні файли будуть перезаписані об'єднанням " виникає в механізмі управління версіями Git. Ця помилка виникає, якщо ви змінили файл, який також має зміни у віддаленому сховищі.

Помилка Git: Ваші локальні зміни до наступних файлів будуть замінені об'єднанням

Цього повідомлення про помилку уникають, якщо у віддаленому сховищі немає непосланих файлів, які також мають зміни. Випробувавши це повідомлення, краще проконсультуватися з іншими членами команди та запитати їх думку. Незалежно від того, чи хочете ви об'єднати свої локальні зміни чи зберегти присутність версії у сховищі, найкраще тримати всіх на роботі.

Що таке сховища? Що таке push і pull в Git?

Репозиторій - це своєрідне сховище для коду, яке постійно змінюється та отримується членами команди через механізм управління версіями GitHub. " Витягнути" означає, що ви переносите останню версію сховища на ваше локальне сховище / IDE (інтегроване середовище розробки), наприклад, Pycharm тощо.

Після витягування ви вносите зміни в код або додаєте додаткові функції. Як тільки ви закінчите, ви " натискаєте" код на сховище, щоб зміни були збережені та внесені доповнення. Код стає доступним і для інших людей.

Якщо ви новачок у контролі версій Github, рекомендується спочатку ознайомитися з усіма основами. У цій статті ми припускаємо, що ви вже маєте базові знання та знаєте всі входи та мінуси.

Як виправити "Ваші локальні зміни до наступних файлів будуть перезаписані об'єднанням"?

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

Отже, ми рекомендуємо вам проконсультуватися з членами вашої команди та переконатися, що ви всі на одній сторінці, перш ніж рухатися вперед. Якщо ви скоїли неправильно або висунули неправильну версію, це може вплинути на всю команду.

Спосіб 1: змушування тягнути до заміни локальних змін

Якщо вас не хвилюють зміни, здійснені на місцевому рівні, і ви хочете отримати код із сховища, ви можете примусити витягнути. Це замінить усі локальні зміни, зроблені на вашому комп’ютері, з’явиться дублікат копії версії в сховищі.

Виконайте в команді IDE такі команди:

 git reset - тяжкий git pull 

Це моментально знищить усі ваші локальні зміни, тому переконайтеся, що ви знаєте, що ви робите, і не потребують ваших локальних змін.

Спосіб 2: Зберігання обох змін (локальних та від репо)

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

 git add $ the_file_under_error git commit git pull 

Коли у вас виникає конфлікт злиття, виберіть ці інструменти для вирішення конфліктів і перевірте їх за рядком.

Спосіб 3: Зберігання обох змін, але НЕ здійснювати

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

 git stash save --keke-індекс 

або

 git скринька 
 git pull git stash pop 

Якщо після викидання скриньки виникають певні конфлікти, ви повинні їх вирішити звичайним способом. Ви також можете скористатися командою:

 застосувати git stash 

замість поп, якщо ви не готові втратити прихований код через конфлікти.

Якщо злиття не здається вам життєздатним варіантом, спробуйте зробити ребайн. Повторне звільнення - це процес переміщення або поєднання послідовності комісій до нового базового комітету. У разі повторної версії файлу змініть код на:

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

Спосіб 4: Внесіть зміни у "конкретні" частини вашого коду

Якщо ви хочете внести зміни до певних частин коду і не хочете замінювати все, ви можете зробити все, що ви не хочете перезаписати, а потім дотримуйтесь методу 3. Ви можете використовувати наступну команду для змін, які ви Ви хочете перезаписати версію, наявну у сховищі:

 git checkout path / to / file / to / revert 

або

 git checkout HEAD ^ шлях / до / файл / до / повернути 

Крім того, вам потрібно переконатися, що файл не ставиться через:

 git скинути HEAD шлях / до / файл / до / відновити 

Потім перейдіть до команди pull:

 git pull 

Потім буде спробу отримати версію з сховища.

Цікаві Статті