【发布时间】:2011-10-03 18:42:32
【问题描述】:
在git remote show origin 的输出中,我看到了这条消息:
warning: more than one branch.main_int.remote
一个更规范的例子是:
warning: more than one branch.master.remote
这是什么意思?是不是很糟糕,如果它很糟糕,我该如何解决?
【问题讨论】:
标签: git git-branch
在git remote show origin 的输出中,我看到了这条消息:
warning: more than one branch.main_int.remote
一个更规范的例子是:
warning: more than one branch.master.remote
这是什么意思?是不是很糟糕,如果它很糟糕,我该如何解决?
【问题讨论】:
标签: git git-branch
您的配置文件的[branch "master"](或[branch "main_int"])部分中有多个remote = ... 设置。要查看此内容,请运行:
git config --get-all branch.master.remote
很可能这两行都在.git/config 文件中。删除其中一行。
如果您在.git/config 文件中只看到一个remote = ... 行,请检查您的~/.gitconfig、~/.config/git/config 和/etc/gitconfig 文件。 (存储库的有效配置是将所有这些文件串联在一起。)
该配置设置存储分支上游存储库的名称,当您键入 git push 或 git fetch 时会使用该名称。一个分支只能有一个上游分支(例如,master 可以跟随origin/master,但它不能也跟随some_other_remote/master)。
【讨论】:
remote = ... 在存储库配置中的设置可能太多,如果您还使用git config --global branch.master.remote origin 全局设置它。
这意味着您的 repo 配置了分支的多个遥控器。
我更喜欢执行以下命令来解决这种情况:
首先确保将原始位置放在手边。您可以使用git remote show origin 或仅使用git remote -v 查看当前为原始位置设置的内容。
使用 remote rm 命令删除不必要的遥控器。例如,要删除源远程使用:
git remote rm origin
此命令将删除所有名称为“origin”的遥控器,因此,如果您有多个遥控器,正如您的警告消息所表明的那样,那么在此命令之后您将没有任何遥控器。但是此时您可以添加一个:
git remote add origin location:/to/origin/repo.git
【讨论】: