如何将功能分支从主题分支变基到开发分支?
How to rebase feature branch from theme branch to development branch?
我们有开发分支,从中出现功能分支。一些功能足够大,它们成为主题分支。这些主题分支然后有更多的子分支合并到主题分支,所有主题完成后,然后合并到开发。
现在,我从主题分支开始功能分支,但我应该从开发开始。我怎样才能改变它?
development
A--B--C--D--E--F--G
\
topic T1----------T2--T3--T4--T5
\ / \
U1--U2--U3 W1--W2--W3
sub-feature U feature W`
功能 W 应该从开发分支开始。
有没有办法在不触及主题分支 T 的情况下将提交 W1、W2 和 W3 变基到开发分支?
我知道我可以签出开发分支并挑选每个提交,但这会创建一个包含新元数据的新提交。我想保留提交创建日期和作者!
你可以做一个rebase --onto
:
git rebase --committer-date-is-author-date --onto dev T4 W`
这将重播 T4
之后的任何提交,直至并包括 W
HEAD,到 dev
分支。
W1'--W2'--W3' (W)
/
A--B--C--D--E--F--G (dev)
\
topic T1----------T2--T3--T4--T5
\ /
U1--U2--U3
sub-feature U
请参阅“git rebase without changing commit timestamps”,作为保持合理提交日期的解决方法。
但是任何 rebase 都会改变元数据。
我们有开发分支,从中出现功能分支。一些功能足够大,它们成为主题分支。这些主题分支然后有更多的子分支合并到主题分支,所有主题完成后,然后合并到开发。
现在,我从主题分支开始功能分支,但我应该从开发开始。我怎样才能改变它?
development
A--B--C--D--E--F--G
\
topic T1----------T2--T3--T4--T5
\ / \
U1--U2--U3 W1--W2--W3
sub-feature U feature W`
功能 W 应该从开发分支开始。
有没有办法在不触及主题分支 T 的情况下将提交 W1、W2 和 W3 变基到开发分支?
我知道我可以签出开发分支并挑选每个提交,但这会创建一个包含新元数据的新提交。我想保留提交创建日期和作者!
你可以做一个rebase --onto
:
git rebase --committer-date-is-author-date --onto dev T4 W`
这将重播 T4
之后的任何提交,直至并包括 W
HEAD,到 dev
分支。
W1'--W2'--W3' (W)
/
A--B--C--D--E--F--G (dev)
\
topic T1----------T2--T3--T4--T5
\ /
U1--U2--U3
sub-feature U
请参阅“git rebase without changing commit timestamps”,作为保持合理提交日期的解决方法。
但是任何 rebase 都会改变元数据。