Як вирішити статус git “Нез’єднані шляхи:”?


83

Я об’єднав гілку dogв animal. Коли я йду на комітування, я отримую таке:

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution
both deleted:       ../public/images/originals/dog.ai
added by them:      ../public/images/original_files/dog.ai

У мене були різні імена каталогів та імена файлів у кожній гілці. У animalгілці є зміни, які я хочу.

Коли я йду скинути голову, це не працює. І коли я роблю будь-які інші дії git (видалення, оформлення замовлення тощо), я отримую path not foundпомилку.

Які команди мені потрібно виконати, щоб вирішити цю проблему?

Відповіді:


82

Все, що вам потрібно зробити, це:

# if the file in the right place isn't already committed:
git add <path to desired file>

# remove the "both deleted" file from the index:
git rm --cached ../public/images/originals/dog.ai

# commit the merge:
git commit

26
подальше пояснення може стати в нагоді
Франсіско Очоа

48

Інший спосіб вирішення цієї ситуації, якщо ваші файли вже зареєстровано, і ваші файли були об’єднані (але не зафіксовані, тому конфлікти об’єднання вставляються у файл) - це запустити:

git reset

Це переключиться на HEAD і скаже git забути будь-які конфлікти злиття та залишить робочий каталог як є. Потім ви можете редагувати відповідні файли (шукайте сповіщення "Оновлені попередні версії"). Після того, як ви розібралися з конфліктами, ви можете бігти

git add -p

що дозволить вам інтерактивно вибрати, які зміни ви хочете додати до індексу. Як тільки індекс виглядає добре ( git diff --cached), ви можете зробити коміт, а потім

git reset --hard

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


Що це таке "Updated upstream" notices?
Saikat

2
@takias: маркери в кожному файлі , які виглядають як: <<<<<<< [branch] \n [content] \n ==== \n [content] \n [branch] >>>>>>>. Я думаю, що формат, можливо, трохи змінився з моменту написання цього, але див. Wincent.com/wiki/Git_merge_conflict_cheatsheet для прикладу.
naught101
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.