Монтаж веток один сверху другого? Это было бы стандартным способом, единственное, что нужно помнить, это то, что когда вы «обновляете», вы должны быть более осторожными. Например, ветвь task2 начинается с ветки task1, пока задача еще находится в разработке. Через некоторое время task1 получил пару коммитов. Для того чтобы задача2 могла их получить:
git checkout task2
git rebase task1
Этого должно быть достаточно, чтобы переместить задачу 2 поверх новой позиции задачи 1 ... но все становится намного сложнее, когда задача 1 "перемещается" (как, например, задача 1 перебазируется). В этом контексте вы не можете просто «перебазировать», потому что если вы попытаетесь это сделать, git попытается перебазировать «предыдущие» ревизии из task1 поверх новой позиции track1. Может быть очень просто предположить, что если task1 остался прежним, то вы получите некоторые сообщения от git о том, что патч применен и что вы можете сказать git пропустить их .... но реальная вещь, о которой следует помнить в том, что на самом деле новая ветвь task1 может очень отличаться от старой задачи1, с которой вы начали работать ... и учитывая, что задача1 не является частью разработки задачи2 (как, например, две независимые разработки) ), то вам придется перебазировать задачу 2 только на новую позицию задачи 1. Итак, вам нужно сделать:
git rebase --onto task1 old-task1-position task2
Таким образом, вы просите git переместиться на новую позицию задачи 1 ветви задача 2, отбрасывая все предыдущие ревизии, которые были частью истории old-task1-position.
Работать таким образом не так уж и сложно, требуется только практика и знание , что происходит .