Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Version Control > Ошибочная ветка для commit


Автор: Romtek 05.05.11, 14:04
Возникла такая ситуация. По ошибке зафиксировал изменение не в той ветке, а заметил лишь месяц спустя.
Есть ветка А - основная и её производная, Б. По ошибке зафиксировал именно в А.

Правильно ли сделать патч, производящий откат на главной ветке А, чтобы потом добавлять ту фиксацию (commit) на нужной ветке Б? Ведь были произведены действия над А и Б и их нельзя терять.

Прикрепил картинку.



Добавлено
По иллюстрации показано, что фиксацию нужно было произвести в синей точке вместо красной.

path4637.png (, : 632)

Автор: ElcnU 05.05.11, 15:39
Если ветки сливать не планируется, то ошибку стоит пофиксить именно на ветке, а патч это будет или ручное исправление, то разницы то особой нет...
возможно до выхода новой версии Б это будет патч....

Автор: Romtek 07.05.11, 19:43
Цитата ElcnU @
возможно до выхода новой версии Б это будет патч....

Применив патч, я изменю файлы. Что повлияет на фиксацию в Git. Я что-то недопонял.

Цитата ElcnU @
Если ветки сливать не планируется

Дело в том, что как раз и планируется. Ветка А - главная для разработки, Б - доработка одной частной задачи (удачный эксперимент). В свою очередь, ещё существует ветка стабильной версии (кажется это не влияет на постановку вопроса).
Ветка Б часто синхронизируется с А. Когда на Б задача будет полностью решена, она будет влита обратно в А. Причём, на ветке А изменения производятся независимо от Б.

Как тогда быть? Ведь, применив патч, удаляющий несвоевременное изменение (которое впоследствие таки будет применено), я могу нарушить все изменения, которые касаются как кода, так и БД.

Автор: Romtek 11.05.11, 10:44
Решил вопрос следующим образом:
  1. откат ошибочных изменений на А
  2. слияние с веткой А в ветку Б (теперь изменения в сиде на обеих ветках)
  3. добавление в ветке Б необходимых фиксаций с помощью git-cherry-pick

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)