Git在冲突时自动终止

问题描述

我想以某种方式配置git以获得这两个选项的最佳效果,不幸的是,这两个选项互斥:

[pull]
    ff = only
    rebase = true

基本上,我想在拉动时自动变基,但是如果存在冲突,则应该中止变基。
这样,如果我在后台更新,则我的存储库将始终保持有效状态。

解决方法

经过一番摆弄之后,我得出了以下shell别名:

[alias]
    l = !git pull --rebase --autostash || (>&2 echo "Error - aborting rebase!" && git rebase --abort)

它拉动并重新设置基准,将所有本地更改放在远程分支的顶部。如果出现错误,则重新启动中止,一切恢复到先前的状态。 在极少数情况下,命令失败不是由于重新设置冲突而引起的,而这只会导致abort也出错,并且不会创建任何无效状态。

现在这是从远程更新的首选方式,如果出现问题,我仍然可以使用默认的pull命令。
如果有人有更本地化的建议,我还是会听!!