【发布时间】:2013-07-28 08:55:21
【问题描述】:
昨天,我需要更改存储库的远程 URL,因为我刚刚将 Bitbucket 设置为使用 SSH 密钥并想从 HTTPS 切换到 SSH。
在指向 repo 的远程地址时,我不小心使用了 master 而不是 origin,如下所示:
git remote add master git@bitbucket.org:myaccount/myrepo.git
当我应该使用(后来确实使用)时:
git remote set-url origin git@bitbucket.org:myaccount/myrepo.git
我检查了 git config 以查看我是否不小心“破坏”了某些东西,并在其中发现了以下两行,据我所知,它们不属于我的其他存储库(否则,它们基本上看起来都一样) :
remote.master.url=git@bitbucket.org:myaccount/myrepo.git
remote.master.fetch=+refs/heads/*:refs/remotes/master/*
现在我有点困惑。 origin 通常不是我的远程存储库的快捷方式/别名,而 master 不是我的本地存储库的快捷方式/别名吗? (或者可能是我本地 repo 的主 分支?我从来没有真正使用过不同的分支,所以我通常只有一个。)或者 remote master 代表主分支在我的远程存储库中? IE。我是否告诉 git 我有一个远程 master 分支来将其与其他分支(实际上并不存在!)区分开来?
很遗憾,remote.master.url 并没有出现很多 Google 搜索结果。在这个 Stackoverflow 线程中提到过一次:What is "git remote add ..." and "git push origin master"?,但该线程也没有给出任何关于如何再次删除它的解释。
我试图通过这样做来摆脱 remote.master.url:
git remote set-url --delete master git@bitbucket.org:myaccount/myrepo.git
但这只会导致 fatal: Will not delete all non-push URLs 错误消息,我不知道这意味着什么。 (只有一个谷歌结果,这是另一个 Stackoverflow 线程,它本身不处理错误消息:fatal: I don't handle protocol。旁注:太糟糕了,我没有足够的声誉让 user1888797 知道他可以检索带有git config --list的配置文件。)
有没有办法“重置”remote.master.url? 或者一旦设置就不能更改? 我应该忽略它吗? 以后会不会导致更多的混乱?
【问题讨论】:
标签: git version-control