这是我在重新安置当前分支的同时保持本地分支不会变平时通常要做的事情:
git fetch origin
git rebase -r origin/develop
-r
是--rebase-merges
,我更喜欢--preserve-merges
我的问题是:做git pull --rebase
时是否可以通过此方法?
例如-我想像上面一样运行上面的命令:
git pull --rebase=rebasemerges origin develop
代替:
git pull --rebase=preserve origin develop
** edit:好-在2.22中,--preserve-merges
弃用了--rebase-merges
。不过,这是给git rebase
的-手指越过更改,结转到git pull --rebase
答案 0 :(得分:1)
是的,正如我在“ What exactly does git's “rebase --preserve-merges
” do (and why?)”中所述,旧的--preserve-merges
选项将消失。
是的,git pull -r
option将相应地更新,但是尚未实现。
参见patch in preparation here。
答案 1 :(得分:1)
git 2.22已发布。
要回答我自己的问题-这是等效的命令:
git pull --rebase=merges origin develop
-r --rebase [= false | true |合并|保留|交互式]为true时,将获取后的当前分支重新置于上游分支的顶部。如果 有一个上游分支对应的远程跟踪分支 自从上次获取以来,上游分支已重新设置了基础 使用该信息来避免基于非本地更改。
当设置为merge时,使用git rebase --rebase-merges重新设置基数,以便 本地合并提交包含在rebase中(请参阅git-rebase 1 有关详细信息)。
要将其设置为默认的拉动行为:
git config --global pull.rebase merges