Git:pull--rebase而不获取



当我转到一个分支时,我通常使用git pull --rebase,它将从远程进行提取,然后将我的提交重新绑定到提取的分支。这很好。我非常喜欢它,因为它保持了历史的简单和线性。

有些情况下,我知道我不想去接,因为我一分钟前刚刚接了。我对此做出了一个糟糕的假设,影响很小。由于存储库的大小,我的获取速度非常慢(大约20秒(。所以我想避开它。

让我们打电话给有问题的分行MyBranch

有效但我认为它容易出错的东西:

$ git rebase orign/MyBranch

我认为它很容易出错,因为我必须记住并键入(在自动完成的帮助下(当前分支的名称。与我的意图相比,这只是一个犯错的机会。

我可以编写一个shell脚本来确定当前分支的名称,然后正确地发出这个命令。但如果有一个更简单的解决方案,我不会这么做。

因此,如果我可以在不制作辅助脚本的情况下拥有git pull --rebase --no-fetch功能,那将是理想的选择。

为了避免打字/容易出错的问题,可以只使用当前分支的远程对应项的快捷方式:

git rebase @{u}

如果您当前签出的MyBranch分支设置为跟踪origin/MyBranch,则这相当于键入git rebase origin/MyBranch


更快地设置别名:(此处ru表示"上游回扣",但可以选择您喜欢的任何名称(

git config alias.ru 'rebase @{u}'
# then
git ru

如第一条注释(由@jonrsharpe(所述,只需执行git rebase

最新更新