我的分支是:
o---o support.2013.16
\
o---o---o---o---o master
\
o---o---o hotfix/A
Run Code Online (Sandbox Code Playgroud)
我需要复制hotfix/A来支持.2013.16.我知道采摘樱桃,但有可能做类似的事情
git rebase --onto support.2013.16 master hotfix/A
Run Code Online (Sandbox Code Playgroud)
但是没有移动分支而是复制它?
Wol*_*olf 47
Git rebase
确实将原始分支复制到新分支; 但是因为它移动了分支头,感觉就像一个动作而不是一个副本.如果您曾经git branch
在原始分支中添加了一个额外的分支头,那么在git rebase
制作了重新定位的副本之后,您仍然可以轻松访问原始分支.所以在你的例子中
git branch rebased-A hotfix/A
git rebase --onto support.2013.16 master rebased-A
Run Code Online (Sandbox Code Playgroud)
离开你
o---o---o rebased-A (hotfix/A')
/
o---o support.2013.16
\
o---o---o---o---o master
\
o---o---o hotfix/A
Run Code Online (Sandbox Code Playgroud)
您可以创建一个新分支:
git checkout -b hotfix/A-support hotfix/A
Run Code Online (Sandbox Code Playgroud)
然后改变它.所以你将有两个分支.也许你可能决定在将它合并到分支后放弃support
分支.
或者,您可以hoftix/A
将其git merge-base support.2013.16 master
重新键入,然后您可以轻松地将其合并hotfix/A
到两个分支中.它会给你更漂亮的历史,没有重复的提交.
归档时间: |
|
查看次数: |
4307 次 |
最近记录: |