git autosetuprebase不工作?
我已经和你建立了gitgit 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 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 ...