Как повторить разрешение конфликта слияния для cherrypick без потери изменений (после фиксации)?

Вот шаги, которые привели к проблеме:

  1. Черри выбрал фиксацию
  2. Решен конфликт слияния
  3. git добавьте файлы, которые были разрешены
  4. git совершить
  5. Потом я понял, что есть ошибки компиляции. я исправил их.

А теперь, как мне добавить эти изменения в предыдущую фиксацию без разрешения конфликта слияния. Я не решаюсь попытаться git reset HEAD~, чтобы не потерять изменения. это было долгое решение.

git reset HEAD~ будет работать?

Просто побочный комментарий: если вы выбирали вишни, вы должны были запустить git cherry-pick --continue, а не git commit, потому что вы потеряли метаданные из исходной версии. Не то чтобы git commit не сработало... сработало бы, но у него не будет метаданных из исходной версии.

eftshift0 10.12.2020 17:26

@eftshift0: Cherry-pick заранее удаляет сообщение, так что git commit действительно сработает здесь. Обычно лучше сразу перейти к --continue при выборе диапазона коммитов, так как в конечном итоге вам придется продолжить. :-) Я думаю, что ОП не выбирал здесь диапазон.

torek 11.12.2020 01:21

спасибо за профессиональный совет @eftshift0 Долгий путь к освоению git

Shobhit Kumar 11.12.2020 07:42

да, я не выбирал диапазон, но всегда полезно узнать @torek

Shobhit Kumar 11.12.2020 07:43
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
146
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
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"

Другие вопросы по теме