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

Git попытка сменить попытку слияния

У меня есть рабочий каталог (# 1), в котором есть каталог поставщика (# 2). Существует одна зависимость, которую я хотел вытащить вручную без компоновщика (версия PHP npm/gem). Я работал в # 1, не сохранял/менял изменения, когда решил, что хочу обновить библиотеку в # 2. Я перешел к поставщику /myname и сделал репозиторий git.

К сожалению, он начал тянуть и сливаться С# 1, вместо того, чтобы создавать новый каталог в папке поставщика.

Теперь у меня есть:

  • # 1 с моими изменениями
  • # 1 с файлами, которые я не хочу использовать в неправильном репозитории
  • # 1 конфликты слияния, такие как composer.json, Readme.md... (общие файлы)

Я хочу "отменить" эту последнюю попытку git, не теряя никаких изменений, внесенных в папку # 1. Как я могу это сделать?

4b9b3361

Ответ 1

git merge --abort может быть тем, что вы ищете.

Ответ 2

Современный Git:

git merge --abort

Older:

git reset --merge

Старая школа (предупреждение: отменит все ваши локальные изменения):

git reset --hard

Но на самом деле стоит заметить, что git merge --abort эквивалентен только git reset --merge, если присутствует MERGE_HEAD. Это можно прочитать в справке git для команды merge.

git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.

После неудачного слияния, когда нет MERGE_HEAD, сбойное слияние может быть отменено с помощью git reset --merge, но необязательно с git merge --abort, , поэтому они не только старый и новый синтаксис для одной и той же вещи. Лично я нахожу git reset --merge гораздо полезнее в повседневной работе.

Ответ 3

С Git 2.10 (Q3 2016) вы узнаете, что делать, потому что git status предложит параметр git merge --abort.

Смотрите совершить b0a61ab (21 июля 2016 г.) Matthieu Moy (moy).
(слияние Junio ​​C Hamano - gitster - в commit 5a2f4d3, 03 августа 2016 г.

status: предложите 'git merge --abort', если это необходимо

Мы уже предлагаем "git rebase --abort" во время конфликтной перестановки.
Аналогично, предположите "git merge --abort" во время разрешения конфликта на "git merge".