Tha*_*you 6 git git-merge git-rebase git-cherry-pick
我有(提交是按字母顺序创建的)
origin/topic A-B-C-D-W-X
topic A-B-C-D-Y-Z
Run Code Online (Sandbox Code Playgroud)
有没有办法让我的topic分支看起来像
A-B-C-D-W-X-Y-Z
Run Code Online (Sandbox Code Playgroud)
没有引入合并提交?
通常我只是这样做
$ git checkout topic
$ git fetch origin
$ git merge --ff-only origin/topic
Run Code Online (Sandbox Code Playgroud)
但由于Y和Z被犯后W和X,快进将无法正常工作.
我怀疑一些聪明的变调或樱桃采摘可能会起作用,但我无法绕过它:{
mam*_*ufo 10
您可以尝试:
git checkout topic
git pull --rebase origin topic
Run Code Online (Sandbox Code Playgroud)
检查有关rebase选项的fetch手册页注释.
我建议使用像git-smart这样的东西,它会在可能的情况下快速前进(更快),如果没有,那么就是一个rebase.如果您有任何更改,它还会隐藏本地更改,并为您提供已拉出的远程更改的摘要.
小智 5
作为mamapitufo答案的替代方案,您还可以执行以下操作,这将为您提供完全相同的结果:
git fetch origin
git rebase origin/topic topic
Run Code Online (Sandbox Code Playgroud)
topic如果已经签出,则最后一个参数是可选的.