Как распространить коммит на дочерние ветви?
Как вы можете видеть ниже, у меня есть вложенные ветви: шаг 1 основан на шаге 0, шаг 2 основан на шаге 1 и так далее.
Я сделал новый коммит на шаге 0 под названием "Обновленная инструкция" (выделен оранжевым цветом), и теперь я хотел бы, чтобы этот коммит применялся ко всем дочерним ветвям.=> Поместите фиксацию "Обновленная инструкция" между "Обновление шага 0" и "Шаг 1"
фактический
Что бы я хотел
Я подумал о том, чтобы оформить push rebase push, одну ветку за одной, но я не уверен, что это сработает, и это боль.
1 ответ
Первый, git checkout -b step-1 origin/step-1
:
git rebase origin/step-0
После этого, git checkout -b step-2 origin/step-2
:
git rebase step-1
Повторяйте, пока все ветви не будут линеаризованы:
git checkout -b step-<n> origin/step-<n>
git rebase step-<n-1>
И, наконец, git checkout master
:
git rebase step-7
Когда вы закончите:
git push --force origin step-1 step-2 step-3 step-4 step-5 step-6 step-7 master
Конечно, это требует много печатания, но вы можете легко автоматизировать это на любом языке сценариев. Возможно, вы могли бы сэкономить время написания сценария для одноразовой работы и просто приступить к выполнению ваших операций вручную.:)