无意中设置“remote.master.url”,再也无法摆脱它了?

时间:2013-07-28 14:34:17

标签: git version-control

昨天,我需要更改存储库的远程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配置,看看我是否意外地“破坏”某些内容并发现其中的两行并不是我能看到的其他存储库的一部分(否则,它们基本上看起来都一样) :

remote.master.url=git@bitbucket.org:myaccount/myrepo.git
remote.master.fetch=+refs/heads/*:refs/remotes/master/*

现在我有些困惑。 origin 通常是我的远程存储库的快捷方式/别名,而 master 是我本地存储库的快捷方式/别名吗? (或者也许是我本地仓库的主要分支?我从来没有真正使用过不同的分支机构,所以我通常只有一个分支机构。)或远程主机代表主分支机构在我的远程存储库?即我告诉git我有一个远程主分支,以区别于其他分支(实际上并不存在!)?

不幸的是, 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

但这只会导致致命:不会删除所有非推送网址错误消息,其中我不知道这意味着什么。 (只有一个谷歌结果,这是另一个Stackoverflow线程,它不处理错误信息本身:fatal: I don't handle protocol。旁注:太糟糕我没有足够的声誉让user1888797知道他可以使用git config --list检索配置文件。)

有没有办法“重置” remote.master.url ? 或者它一旦设定就不能改变吗? 我应该忽略它吗? 可能会在以后导致更多混乱?

1 个答案:

答案 0 :(得分:3)

您可以尝试重命名:

git remote rename master origin
  

或者远程主站是否代表我的远程存储库中的主分支?

不,这里'master'只是一个遥控器的名称,它是一个引用一个值(远程网址)的键。

如果远程origin仍然存在,则:

git remote remove master
git remote set-url origin git@bitbucket.org:myaccount/myrepo.git