我需要更改远程存储库的url,因此我在查看https://git-scm.com/docs/git-remote bu时的文档:
git remote set-url git@github.com:gitusername/repository.git
我收到消息usage: git remote set-url [--push] <name> <newurl> [<oldurl>]
我不太了解,应该输入:
git remote set-url --push gitusername git@github.com:gitusername/repository.git
或者<name>
代表什么?我应该包括旧网址吗?
更新
所以当我键入:
git remote set-url --push origin git@github.com:gitusername/repository.git
然后输入git remote -v
我明白了:
origin git@github.com:oldusername/oldrepo.git (fetch)
origin git@github.com:gitusername/repository.git (push)
如何更改提取?
答案 0 :(得分:2)
您需要为现有遥控器设置URL:
git remote set-url origin git@github.com:gitusername/repository.git
使用上面的命令将同时更新提取网址和推送网址。
使用--push
仅更新推送URL:
git remote set-url --push origin git@github.com:gitusername/repository.git
git remote -v
origin git@github.com:oldusername/oldrepo.git (fetch)
origin git@github.com:gitusername/repository.git (push)
此刻之后,.git/config
中现在有一个单独的条目:
[remote "origin"]
url = git@github.com:oldusername/oldrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
pushurl = git@github.com:gitusername/repository.git
现在,由于存在单独的条目,因此不使用set-url
而使用--push
只会更新获取,而不是同时更新两者:
git remote set-url origin git@github.com:thirdusername/thirdrepository.git
git remote -v
origin git@github.com:thirdusername/thirdrepository.git (fetch)
origin git@github.com:gitusername/repository.git (push)
如果您想回到原始状态,可以从pushurl
删除.git/config
条目,也可以使用set-url --delete --push
:
git remote set-url --delete --push origin git@github.com:gitusername/repository.git
此后,在不使用set-url
的情况下调用--push
应该回到更改推入URL和获取URL。
答案 1 :(得分:0)
这是遥控器的名称,例如。 origin
列出遥控器时,这些名称也是可见的,因此您可以检查当前名称(也可能是origin
)
git remote -v
origin https://github.com/schacon/ticgit (fetch)
origin https://github.com/schacon/ticgit (push)
当使用多个遥控器时非常有用,例如如果您分叉GitHub存储库,则可以在线上有一个分叉和原始存储库的远程存储(有时习惯上称为“上游”)
答案 2 :(得分:0)
名称是指远程存储库的简写名称。默认情况下,通常称为“来源”。因此,在您的情况下,命令将是
git remote set-url origin git@github.com:gitusername/repository.git
可选的--push
选项将设置推入URL而不是获取URL。
答案 3 :(得分:0)
此命令用于添加新的遥控器:
git remote add origin git@github.com:User/UserRepo.git
此命令用于更改现有远程存储库的URL:
git remote set-url origin git@github.com:User/UserRepo.git
此命令将把您的代码推送到由来源定义的远程存储库的master分支,并且-u让您将当前的本地分支指向远程master分支:
git push -u origin master