Подтвердить что ты не робот

Как разрешить конфликт "удалить/изменить", вызванный "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, с незафиксированными локальными изменениями. Можете ли вы предложить, как это сделать?

Спасибо.

4b9b3361

Ответ 1

Вы выталкиваете шкатулку в другое состояние; состояние, в котором есть еще одна фиксация. И что еще хуже, коммит ввел конфликты слияния, как вы знаете.

У вас есть два варианта:

  • поп, который помещается в последнюю фиксацию и разрешает конфликты.
  • вытащите тайник на предыдущую фиксацию.

Похоже, что # 2 - это то, что вы хотите сделать. Использование:

    git stash branch new_branch [<stash>]  # <stash> will be the last one if not provided.

Ответ 3

Вам нужно решить конфликт! Поскольку вы обновили последний репозиторий, оба файла были изменены, project.rb и orders_controller.rb были изменены в последнем репозитории. В то же время ваше местное изменение (stash) также изменило эти два файла, когда вы их примените, будет конфликт.

Вам необходимо решить конфликт, чтобы применить локальные изменения.

Для первого файла, orders_controller.rb последнее репо удаляется, вы хотите сохранить его или нет, когда вы нажимаете на свою позднюю фиксацию?

Для второго файла project.rb вам необходимо разрешить конфликт в файле.