我有这个:
master
| foo
| |
v v bar
A---B---C---D |
\ v
\---E---F---G
我要这个:
master
| foo
| |
v v bar
A---B---C---D |
\ v
\---E---F---G
so I我认为我需要做:
git checkout bar
git rebase master
但 Git 却不这么认为:
Current branch bar is up-to-date.
并让一切保持原样。
我需要运行什么才能让 Git 执行我想要的操作?
的版本git rebase
您正在做的事情会获取分支上的所有提交bar
哪些尚未开启master
并将它们写到master
。这是提交D
通过F
,这不是你想要的,因为它不会跳过提交D
。一种解决方案是使用--onto
flag:
git checkout bar
git rebase --onto master foo
此版本的 rebase 将获取分支上的所有提交bar
但不在分支上foo
并将它们重写到master
。这将导致准确的历史记录bar
你要的那个。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)