git pull --rebase: 传递 --rebase-merges

YS.*_*YS. 4 git rebase git-pull

这是我在重新设置当前分支同时保持本地分支不被压扁时通常会做的事情:

git fetch origin
git rebase -r origin/develop
Run Code Online (Sandbox Code Playgroud)

-r--rebase-merges,我更喜欢--preserve-merges

我的问题是:有没有办法在做的时候通过这个git pull --rebase

例如 - 我想像这样运行上面的命令的等价物:

git pull --rebase=rebasemerges origin develop

代替:

git pull --rebase=preserve origin develop

**编辑:好的 - 看起来像 2.22,--preserve-merges正在被弃用而支持--rebase-merges. 这是因为git rebase- 手指越过变化被延续到git pull --rebase

YS.*_*YS. 6

git 2.22 已经发布。

回答我自己的问题 - 这是等效的命令:

git pull --rebase=merges origin develop

取自手册页

-r --rebase[=false|true|merges|preserve|interactive] 如果为 true,则在获取后将当前分支重新定位到上游分支的顶部。如果存在与上游分支相对应的远程跟踪分支,并且上游分支自上次提取以来已重新定位,则重新定位使用该信息来避免重新定位非本地更改。

当设置为合并时,使用 git rebase --rebase-merges 进行变基,以便本地合并提交包含在变基中( 有关详细信息,请参阅 git-rebase 1)。

要使其成为默认的拉取行为:

git config --global pull.rebase merges