Git如何使用远程仓库的'set-url'

snz8szmq  于 2023-01-28  发布在  Git
关注(0)|答案(4)|浏览(310)

我需要更改一个远程存储库的URL,所以我查看了https://git-scm.com/docs/git-remote中的文档,但当我这样做时:

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>代表什么?我应该包括旧的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)

如何更改取数?

kt06eoxx

kt06eoxx1#

以下命令更新现有远程origin的URL:

git remote set-url origin git@github.com:gitusername/repository.git

上面的命令更新了获取和推送URL。
使用--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将仅更新fetch,而不是同时更新两个:

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)

如果要返回到原始状态,可以从.git/config中删除pushurl条目,或者使用set-url --delete --push

git remote set-url --delete --push origin git@github.com:gitusername/repository.git

在此之后,调用set-url而不调用--push,现在更新推送和获取URL。

aij0ehis

aij0ehis2#

它是遥控器的名称,例如origin
在列出遥控器时,名称也是可见的,因此您可以检查当前名称(可能也是origin

git remote -v
origin  https://github.com/schacon/ticgit (fetch)
origin  https://github.com/schacon/ticgit (push)

当使用多个远程时非常有用,例如,如果你fork了一个GitHub repo,那么你可以有一个远程在线fork和原始repo(有时候按照惯例称为“上游”)

pepwfjgg

pepwfjgg3#

Name是指远程存储库的缩写名称。默认情况下,它通常被称为“origin”。因此,在您的情况下,命令将是

git remote set-url origin git@github.com:gitusername/repository.git

可选的--push选项将设置push URL而不是fetch URL。

jhiyze9q

jhiyze9q4#

此命令用于添加新的远程:

git remote add origin git@github.com:User/UserRepo.git

此命令用于更改现有远程存储库的URL:

git remote set-url origin git@github.com:User/UserRepo.git

这个命令会把你的代码推送到用origin定义的远程仓库的master分支,-u让你把你当前的本地分支指向远程master分支:

git push -u origin master

相关问题