Git проблема с несанкционированным доступом

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

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

Короче говоря, у меня были разные имена каталогов и имена файлов в каждой ветке. В ветке есть изменения, которые я хочу.

Когда я перехожу к reset голова, это не сработает. И когда я перейду к другому действию git (удалить, проверить и т.д.), Я получаю ошибку пути не найденной.

Какие команды мне нужно выполнить?

Ответ 1

Все, что вам нужно сделать, это:

# if the file in the right place isn't already checked in
git add <path to desired file>
# remove the "both deleted" file from the index
git rm --cached ../public/images/originals/dog.ai

git commit         # commit the merge

Ответ 2

Другой способ справиться с этой ситуацией, если ваши файлы уже зарегистрированы, и ваши файлы были объединены (но не зафиксированы, поэтому конфликты слияния вставлены в файл):

git reset

Это переключится на HEAD и сообщит git, чтобы забыть любые конфликты слияния и оставить рабочий каталог как есть. Затем вы можете редактировать файлы, о которых идет речь (поиск уведомлений "Обновленный восходящий поток" ). После того, как вы столкнулись с конфликтами, вы можете запустить

git add -p

который позволит вам интерактивно выбирать изменения, которые вы хотите добавить в индекс. Как только индекс выглядит хорошо (git diff --cached), вы можете зафиксировать, а затем

git reset --hard

чтобы уничтожить все нежелательные изменения в вашем рабочем каталоге.