`--preserve-merges`的Git选项?

时间:2017-02-22 04:15:06

标签: git git-merge

默认情况下,是否可以选择使用--preserve-merges进行git do rebase?我知道别名,但我不喜欢记住他们的名字的想法,而且当你习惯了别人的计算机时,它会让一切都变得更难。

2 个答案:

答案 0 :(得分:1)

这种特殊需求是shell函数存在的原因之一。

git() {
    case $1 in
    rebase) shift; set -- rebase --preserve-merges "$@" ;;
    esac
    command git "$@"
}

至于

  

我知道别名,但我不喜欢记住他们的名字的想法,而且当你习惯了别人的计算机时,它会让一切都变得更难。

我认为一种获取命令在其他人的计算机上表现不同的方法,但只有当你使用它时,才会被要求作为一个单独的问题才能做出正确的反应。

答案 1 :(得分:1)

如果要在拉动(例如开发)时执行此操作,可以在git> = 1.7.9 ::

中执行此操作
git config pull.rebase preserve

它将进行所有拉动操作,以将分支从远程基础迁移到本地分支,并保留合并。

如果您想将开发重新建立到另一个分支,则无法使用。

在git <1.7.9中:

git config --global branch.autosetuprebase always

请参见Make git pull --rebase preserve merge commits