我有(提交是按字母顺序创建的)
origin/topic A-B-C-D-W-X
topic A-B-C-D-Y-Z
有没有办法让我的topic
分支看起来像
A-B-C-D-W-X-Y-Z
而不引入合并提交?
通常我只会做
$ git checkout topic
$ git fetch origin
$ git merge --ff-only origin/topic
但由于Y
和Z
是在W
和X
之后提交的,因此快进将不起作用。
我怀疑一些巧妙的重新打底或樱桃采摘可能会奏效,但我无法包裹我的绕过它:{
您可以尝试使用:
git checkout topic
git pull --rebase origin topic
查看有关rebase选项的fetch手册页注释。
我建议使用像git smart这样的东西,它会在可能的情况下进行快进(更快),如果没有,则重新设置基准。如果您有本地更改,它还会存储这些更改,并为您提供远程更改的摘要。
作为mamapitufo答案的替代方案,您还可以执行以下操作,这将给您完全相同的结果:
git fetch origin
git rebase origin/topic topic
如果您已经签出了最后一个topic
参数,那么它是可选的。
如果您已经签出了topic
并提取了正在跟踪来源/主题的origin/topic
(听起来像这样),您可以:
git rebase
我给了马马皮图赞成票。