当我转到一个分支时,我通常使用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
。