首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让Git在默认情况下对我的所有存储库使用rebase?

如何让Git在默认情况下对我的所有存储库使用rebase?
EN

Stack Overflow用户
提问于 2012-12-13 02:33:20
回答 4查看 106.4K关注 0票数 276

有没有一种方法可以设置主机Git存储库,使其(本地)克隆的任何git pull默认使用--rebase?通过搜索Stack Overflow,我了解到了branch.autosetuprebase,但它需要针对每个克隆进行单独配置。

我的项目流程是这样设置的:在对develop分支执行merge操作之前,先对其执行pull操作。这个pull几乎总是使用--rebase,所以我正在尝试弄清楚这是否可以是默认的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-20 22:45:12

现在有3个不同级别的默认拉入行为的配置。从最一般的到最细粒度的,它们是:

1. pull.rebase

将其设置为true意味着git pull始终等同于git pull --rebase (除非branch.<branchname>.rebase显式设置为false)。这也可以按存储库或全局设置。

2. branch.autosetuprebase

将其设置为always意味着,无论何时创建跟踪分支,都会为其创建一个配置条目,如下所示。对于更细粒度的控制,还可以将其设置为neverlocalremote,并且可以按存储库或全局设置。有关更多详细信息,请参阅git config --help

3. branch.<branchname>.rebase

将其设置为true意味着,除非显式使用git pull --no-rebase,否则该特定分支将始终通过rebasing从其上游拉出。

结论

因此,虽然您不能更改存储库所有未来克隆的默认行为,但您可以通过git config --global pull.rebase true更改所有当前用户(现有的和未来的)存储库的默认行为。

票数 321
EN

Stack Overflow用户

发布于 2013-07-13 00:38:47

怎么样

代码语言:javascript
复制
git config --global pull.rebase true

这将告诉git始终使用rebase进行拉动。

票数 217
EN

Stack Overflow用户

发布于 2014-10-02 20:53:47

答案是否定的。

没有一种方法可以设置一个远程存储库,这样每个克隆它的人都会更改git pull的默认行为。

但是,您可以设置一个服务器端钩子来检查是否没有人推送合并提交(也许是something like this)。

还有一些您可能感兴趣的配置选项。所有从远程存储库克隆的开发人员都必须手动设置它。

1.选项branch.<name>.rebase

您可以将本地分支配置为始终使用--rebase,如下所示,将<name>替换为分支名称:

代码语言:javascript
复制
git config branch.<name>.rebase true

master上运行后,.git/config中的master部分如下所示:

代码语言:javascript
复制
[branch "master"]
    remote = origin
    merge = refs/heads/master
    rebase = true

2.选项branch.autosetuprebase

为每个Git分支运行前面的config命令可能很麻烦,因此您可以配置Git为每个新分支自动设置它:

代码语言:javascript
复制
git config branch.autosetuprebase always

(您还可以指定neverremotelocal,有关详细信息,请参阅man git-config。)

如果不使用--global选项,则会将配置保存到.git/config,并且只会影响当前存储库。使用--global,配置将保存到~/.gitconfig,并且每个未配置的存储库都会受到影响。

此选项不会影响已存在的分支。

3.选项pull.rebase

代码语言:javascript
复制
git config pull.rebase true

(您还可以为其提供--global选项。)

如果此选项为true,则运行git pull等同于git pull --rebase,除非已将branch.<name>.rebase设置为false

票数 58
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13846300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档