Как правильно исправить ошибку и объединить изменения в предыдущую версию и все последующие версии в git? - PullRequest
0 голосов
/ 13 марта 2020

Я один разработчик с master, веткой dev и одной или несколькими ветками функций (от dev) и ветками bugfix (от master), которые я всегда объединяю с master, а также dev.

Как мне правильно решить следующую ситуацию?

  • У меня есть главная ветка с большим количеством коммитов,
  • ... в следующем коммите установлен тег v3.0,
  • ... затем снова набор коммитов и других тегов (другие версии),
  • и затем коммит с тегом v5.0.

В версии 3.0 Я обнаружил небольшую ошибку, которую нужно исправить во всех версиях от 3.0 (включительно) и более поздних версиях.

Я поступил следующим образом:

git clone .... cloned git to localhost

git checkout v3.0 checkout to v3.0 tag commit

Затем я внес изменения в исходные коды а затем

git add . add changes to stack

git checkout -b bugfix checkout to new branch bugfix

git commit -m "My Bugfix ..." make commit

... так что я переместил изменения в эту ветку и проверил там и зафиксировал, и теперь я не знаю, как эти ветки исправлений сливаются не до конца основной ветви, а добавляют они как новый коммит сразу после коммита с тегом v3.0.

commit1
commit2
commit3 tag v3.0
<== merge bugfix commit
commit4
commit5

1 Ответ

0 голосов
/ 13 марта 2020

поэтому я переместил изменения в эту ветку и проверил там и зафиксировал

идеально.

и теперь я не знаю, как эти исправления слияние веток не до конца основной ветки, а добавление их в качестве нового коммита сразу после коммита с тегом v3.0.

Нет. Если вы хотите предложить полностью альтернативную историю, в которой вы исправили эту ошибку, прежде чем выполнять всю другую работу, вы можете переназначить всю эту другую работу на свое исправление и принудительно получить sh результат, но

a) когда вы готовите серию патчей для публикации, на гораздо лучше лучше просто исправить неверный коммит и перебазировать исправленный, а

b) это не работа перед публикацией, вы Вы не редактируете для публикации, вы публикуете ошибки в истории, на которую люди полагаются. Если (, если ), вы можете случайно сообщить всем: «эй, мне пришлось перебазировать v3.0, извините, повторно загрузить и перебазировать все, что вы сделали на основе этого или что-нибудь с тех пор», тогда это выполнимо. Для опций вы выбираете достаточно скоро, это также намного лучше, чем все альтернативы.

v3.0 была ошибка, и вы находитесь на v5.0, так что нет, это не исчезающий упс. Эта ошибка появилась, вы определили и опубликовали исправление, а теперь объедините его со всеми советами, которые необходимо исправить. Чтобы упростить интеграцию, сначала выполните слияние с общей базой слияния текущих подсказок, а затем объедините с отдельными подсказками.

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