Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git autosetuprebase不工作?_Git_Rebase_Git Rebase - Fatal编程技术网

git autosetuprebase不工作?

git autosetuprebase不工作?,git,rebase,git-rebase,Git,Rebase,Git Rebase,我已经和你建立了git git config --global branch.autosetuprebase always 它在我的~/.gitconfig文件中看起来还可以: [branch] autosetuprebase = always 但当我这么做的时候 git pull 他执行合并(我删除了公司特定的数据): 他为什么不执行重基?请注意,他从远程获取的唯一内容是一个标记和一个未在本地更改的文件中的小代码更改 编辑:我有git版本1.8.4.5 编辑:这是我的本地.git

我已经和你建立了git

git config --global branch.autosetuprebase always
它在我的
~/.gitconfig
文件中看起来还可以:

[branch]
    autosetuprebase = always
但当我这么做的时候

git pull
他执行合并(我删除了公司特定的数据):

他为什么不执行重基?请注意,他从远程获取的唯一内容是一个标记和一个未在本地更改的文件中的小代码更改

编辑:我有git版本1.8.4.5

编辑:这是我的本地
.git/config
文件:

[core]
        repositoryformatversion = 0
        filemode = true
        logallrefupdates = true
[branch "master"]
[remote "origin"]
        url = git@gitlab:***/***.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

git
中的
branch.autosetuprebase
选项仅影响设置后创建的分支。从手册页面(
git help config
):

branch.autosetuprebase
当使用跟踪另一个分支的git branch或git checkout创建新分支时,此变量
告诉Git将pull设置为rebase而不是merge(请参阅“branch..rebase”)。当从来没有,瑞贝斯是。。。

对于已经存在的分支,例如
master
,有
git config branch.master.rebase true
,如果需要,可以为多个分支/回购编写脚本。

您是否检查了本地.git配置文件。它是否覆盖了它?@Sukhmeethingh:我在我的问题中添加了它。。。它没有覆盖autosetuprebase选项。可能您错过了git help config中的一部分,其中说“当使用git branch或跟踪另一个分支的git checkout创建新分支时…”。我认为
autosetuprebase
不会对回购中已有的分支机构产生追溯性影响(如
master
)。你将不得不手动调整那些…@twalberg,这也许可以解释;那么,对于我的每个git存储库和分支,是否都没有办法自动执行此操作?(除了脚本…)嗯,您可以
git config branch.master.rebase true
。。。将
master
替换为您希望对其执行相同操作的任何其他分支的名称。如果你有很多回购/分支机构要做这件事,那么编写脚本可能是一种方法。。。
[core]
        repositoryformatversion = 0
        filemode = true
        logallrefupdates = true
[branch "master"]
[remote "origin"]
        url = git@gitlab:***/***.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
  branch.autosetuprebase
       When a new branch is created with git branch or git checkout that tracks another branch, this variable
       tells Git to set up pull to rebase instead of merge (see "branch.<name>.rebase"). When never, rebase is ...