Как разрешить конфликт "удалить/изменить", вызванный "git применить stash",
Недавно я сделал git stash
, затем немного поработал над ветвью и зафиксировал ее, и получил эти ошибки при попытке сделать git stash apply
:
CONFLICT (delete/modify): app/controllers/orders_controller.rb deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of app/controllers/orders_controller.rb left in tree.
CONFLICT (content): Merge conflict in app/models/product.rb
git status
показывает следующее:
$ git status
# On branch develop
# Your branch is ahead of 'origin/develop' by 16 commits.
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# deleted by us: app/controllers/orders_controller.rb
# both modified: app/models/product.rb
Файл с надписью "delete/modify" был новым файлом, который я добавил и еще не выполнил перед stash
.
Я хотел бы вернуться в состояние, в котором находился до git stash
, с незафиксированными локальными изменениями. Можете ли вы предложить, как это сделать?
Спасибо.
Ответы
Ответ 1
Вы выталкиваете шкатулку в другое состояние; состояние, в котором есть еще одна фиксация. И что еще хуже, коммит ввел конфликты слияния, как вы знаете.
У вас есть два варианта:
- поп, который помещается в последнюю фиксацию и разрешает конфликты.
- вытащите тайник на предыдущую фиксацию.
Похоже, что # 2 - это то, что вы хотите сделать. Использование:
git stash branch new_branch [<stash>] # <stash> will be the last one if not provided.
Ответ 2
В моем случае git add <file>
помог:
Вот пример https://gist.github.com/SgtPooki/10efd02b066a8704b776
Ответ 3
Вам нужно решить конфликт!
Поскольку вы обновили последний репозиторий, оба файла были изменены, project.rb и orders_controller.rb были изменены в последнем репозитории. В то же время ваше местное изменение (stash) также изменило эти два файла, когда вы их примените, будет конфликт.
Вам необходимо решить конфликт, чтобы применить локальные изменения.
Для первого файла, orders_controller.rb
последнее репо удаляется, вы хотите сохранить его или нет, когда вы нажимаете на свою позднюю фиксацию?
Для второго файла project.rb
вам необходимо разрешить конфликт в файле.