застрял на git revert --abort с конфликтом - PullRequest
0 голосов
/ 18 января 2019

Итак, это мои 3 последних коммита

commit cb5f9f58885049c20ea7d75e3fcc120f61f6d9a1 commit bad20788aa8b72622182cf28195b4b4e518d44a3 commit eeb8a571e300b52cd0c200351872467c47a32214

Я хочу вернуть bad207 ~ commit (о, ирония), поэтому я запускаю:

git revert bad20788aa8b72622182cf28195b4b4e518d44a3

Возник конфликт, bad207 и cb5f касаются одного и того же файла:

You are currently reverting commit bad2078.
  (fix conflicts and run "git revert --continue")
  (use "git revert --abort" to cancel the revert operation)

Итак, я исправляю конфликт и запускаю:

git add conflicted_file

А потом:

git revert --continue

Какие выходные данные (на испанском языке это означает, что на ветке master ваша ветвь обновляется с origin / master):

En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.

nothing to commit, working directory clean

А потом я застрял, я не могу ничего подтолкнуть или что-то зафиксировать, и я все еще в режиме возврата:

$ git push origin master
Everything up-to-date

$ git commit -a
En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.

nothing to commit, working directory clean

$ git status
En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.
  (todos los conflictos corregidos: ejecute «git revert --continue»)
  (use "git revert --abort" to cancel the revert operation)

$ git revert --continue
En la rama master
Su rama está actualizada con «origin/master».
You are currently reverting commit bad2078.

nothing to commit, working directory clean

нечего коммитить, рабочий каталог чистый, что мне не хватает?

1 Ответ

0 голосов
/ 18 января 2019

После разрешения конфликта revert коммит содержит изменения.

Таким образом, вы не можете продолжить, так как по умолчанию git запрещает создание пустых коммитов.

Вы можете:

  1. Попробуйте --allow-empty param, но я не понимаю, как это было бы полезно для вас.
  2. Отмените создание возврата, запустив git revert --abort. А затем создайте возвратный коммит вручную (просто вручную внося изменения).
  3. Попытайтесь перебазировать коммит, чтобы быть возвращенным, чтобы быть сверху журнала фиксации. Скорее всего, ваш коммит, который вы пытаетесь вернуть, не самый последний. Таким образом, размещение его на вершине позволит вам создать возврат без каких-либо конфликтов.
  4. Как ребаз в предыдущем варианте, но просто удалить его из истории веток.

Два последних варианта будут связываться с историей ветки, поэтому, если другие люди работают над этой веткой, могут возникнуть проблемы при перебазировании / слиянии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...