Вот шаги, которые привели к проблеме:
А теперь, как мне добавить эти изменения в предыдущую фиксацию без разрешения конфликта слияния.
Я не решаюсь попытаться git reset HEAD~
, чтобы не потерять изменения. это было долгое решение.
git reset HEAD~
будет работать?
@eftshift0: Cherry-pick заранее удаляет сообщение, так что git commit
действительно сработает здесь. Обычно лучше сразу перейти к --continue
при выборе диапазона коммитов, так как в конечном итоге вам придется продолжить. :-) Я думаю, что ОП не выбирал здесь диапазон.
спасибо за профессиональный совет @eftshift0 Долгий путь к освоению git
да, я не выбирал диапазон, но всегда полезно узнать @torek
git add <your-files>
git commit --amend --no-edit
или в одной команде:
git commit -a --amend --no-edit
флаги:
-a
: зафиксировать все неустановленные и поэтапные изменения (не нужно git add
)--amend
: внесите изменения в предыдущий коммит--no-edit
: и оставить сообщение коммита как былобудет ли работать git reset HEAD~?
Да, это другой, но более длинный вариант, но дает тот же результат:
git reset HEAD~ # undo last commit
git add <your-files>
git commit -m "message"
Просто побочный комментарий: если вы выбирали вишни, вы должны были запустить
git cherry-pick --continue
, а неgit commit
, потому что вы потеряли метаданные из исходной версии. Не то чтобыgit commit
не сработало... сработало бы, но у него не будет метаданных из исходной версии.