#git
Вопрос:
Когда я работаю над ветвью функций, мне приходится время от времени фиксировать свои временные работы, чтобы другие могли следить за моими последними изменениями, но я предпочитаю показывать изменения в этой ветви в своей среде разработки.
Первый шаг, который я могу придумать, это:
git reset --soft HEAD~n
Но как я могу переделать эти коммиты, чтобы создать новый коммит на основе исходного ЗАГОЛОВКА?
Комментарии:
1. Я не уверен, что понимаю вопрос. Не могли бы вы, пожалуйста, попытаться уточнить?
2. Совершаете ли вы это так, как обычно?
3. Если только ваша IDE не вмешивается во что-то,
git reset --soft
а затемgit commit
уже делает то, что, как я думаю, вы хотите. (У меня были некоторые проблемы с пониманием того, о чем вы спрашивали.)
Ответ №1:
Вы хотите повторить фиксации, которые вы сбросили?
В таком случае, действуйте так
git reflog
и найдите сообщение о последней фиксации перед тем, как выполнить сброс.
Затем сбросьте этот хэш.
git reset 147ad0
или что-то в этом роде
Затем, если вы выбрали правильную фиксацию, теперь у вас будут только изменения, внесенные после вашего большого сброса, в качестве локальных изменений. Если вы выбрали неправильный хэш из своего рефлога, вы можете попробовать другой. Вы, поскольку сброс не изменяет состояние ваших файлов, можете пытаться сбросить их снова и снова, пока вам не понравится то, что вы видите.
Комментарии:
1. 1, так как это правильный ответ. Тем не менее, правильный ответ: «ваш рабочий процесс нарушен, погуглите, в чем проблема AB».