Vextor-ltd
@Vextor-ltd
Webdeveloper

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

Отбрэнчевался от main.
В ветке фичи покодил и произвёл коммит.
Перешёл в main и произвёл мёрдж.
Затем вспомнил, что не всё сделал в фиче, снова перешёл в фичу, произвёл некоторые действия, после чего сделал git commit --amend --no-edit, вернулся в мастер и попытался смёржить снова.
Git ругается и предлагает в main произвести коммит:
fatal: You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you merge.


Вот логи:
PS D:\OSPanel\domains\my-app> git log --oneline --graph --decorate --all
* 4504609 (score-effects) HeartBeat effect applied
| * c7f7694 (HEAD -> main) HeartBeat effect applied
|/
...


Вот статус main:
PS D:\OSPanel\domains\my-app> git branch
* main
  many-changes
  santa-untimely-move-fix
  score-effects
PS D:\OSPanel\domains\my-app> git status
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
  (use "git push" to publish your local commits)

All conflicts fixed but you are still merging.
  (use "git commit" to conclude merge)


Получается я всё ещё нахожусь на стадии слияния. Как тут быть и почему так получается, что не даёт смёржить?
  • Вопрос задан
  • 715 просмотров
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Cвоим amend вы фактически удалили тематическую ветку и создали новую версию.
После этого надо было отменить предыдущее слияние через reset.

Но текст ошибки говорит о том, что вы делаете новое слияние не завершив предыдущее.
Возможно слияние остановилось на конфликте, но вы проигнорировали это.
Определитесь что именно хотите сделать.
Либо разрешить конфликт и затем завершить слияние git merge --continue
Либо отказаться от слияния и всё отменить git merge --abort
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы