我正在使用ruby on rails应用程序,我正在尝试同步一个fork。值得一提的是,我也在Mac上。我采取了以下行动:
$ git remote -v
获取我本地存储库的视图。我试图去upstream
时搞砸了:
$ git remote add upstream https://github.com/foo/repo.git
当我应该大写Foo时:
$ git remote add upstream https://github.com/Foo/repos.git
问题是我如何删除upstream
,因为每次我尝试更改此内容时都会产生fatal
错误?
答案 0 :(得分:113)
使用git版本1.7.9.5,远程没有“删除”命令。请改用“rm”。
$ git remote rm upstream
$ git remote add upstream https://github.com/Foo/repos.git
或者,如前面的答案中所述,set-url有效。
我不知道命令何时更改,但Ubuntu 12.04随附1.7.9.5。
答案 1 :(得分:33)
git remote manpage非常简单:
使用
Older (backwards-compatible) syntax:
$ git remote rm upstream
Newer syntax for newer git versions: (* see below)
$ git remote remove upstream
Then do:
$ git remote add upstream https://github.com/Foo/repos.git
或直接更新网址:
$ git remote set-url upstream https://github.com/Foo/repos.git
或者如果您对此感到满意,只需直接更新.git / config - 您可以找出需要更改的内容(作为读者的练习)。
...
[remote "upstream"]
fetch = +refs/heads/*:refs/remotes/upstream/*
url = https://github.com/foo/repos.git
...
===
*关于'git remote rm'vs'git remote remove' - 这改变了git 1.7.10.3 / 1.7.12 2 - 参见
Log message
remote: prefer subcommand name 'remove' to 'rm'
All remote subcommands are spelled out words except 'rm'. 'rm', being a
popular UNIX command name, may mislead users that there are also 'ls' or
'mv'. Use 'remove' to fit with the rest of subcommands.
'rm' is still supported and used in the test suite. It's just not
widely advertised.
答案 2 :(得分:3)
$ git remote remove <name>
即
$ git remote remove upstream
应该做的伎俩
答案 3 :(得分:1)
在git版本2.14.3中,
您可以使用
删除上游git branch --unset-upstream
上面的命令还将删除跟踪流分支,因此,如果要从已使用的存储库中重新定位,请使用
git rebase origin master
代替git pull --rebase