如何更改远程 Git 存储库的 URI(URL)?

问题描述:

我在我的硬盘驱动器(本地)上克隆的 USB 密钥上有一个存储库(来源)。我将“原点”移动到 NAS 并成功测试了从这里克隆它。

我想知道我是否可以在“本地”设置中更改“来源”的 URI,这样它现在将从 NAS 中提取,而不是从 USB 密钥中提取。

目前,我可以看到两种解决方案:

将所有内容推送到 usb-orign,然后再次将其复制到 NAS(由于对 nas-origin 的新提交,这意味着很多工作);

将新遥控器添加到“本地”并删除旧遥控器(我担心我会打破我的历史)。

解决方案1:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

你可以

git remote set-url origin new.git.url/here

(请参阅 git help remote)或者您可以编辑 .git/config 并在此处更改 URL。除非您做一些非常愚蠢的事情,否则您不会有丢失历史的危险(如果您担心,只需复制您的回购,因为您的回购是您的历史。)

如果您有不同的 shell 用户,那么您可能想在新 url 的开头指定您的 git 用户,例如:myself@git://new.url.here

您可能还希望使用 git branch -u origin/master 为您的新源位置设置主上游分支。这将使您只需git push,而不必每次都git push origin master。

@kelorek 或者你可以第一次git push -u origin master :)

我还必须 git remote set-url --push origin git://... 才能设置原点...(推送)网址。

对于多个分支,您可以使用 git push -u --all 将所有分支一次推送到新 url(而不是 git push -u origin master)

解决方案2:

与HuntsBot一起,探索全球自由职业机会–huntsbot.com

git remote -v
# View existing remotes
# origin  https://github.com/user/repo.git (fetch)
# origin  https://github.com/user/repo.git (push)

git remote set-url origin https://github.com/user/repo2.git
# Change the 'origin' remote's URL

git remote -v
# Verify new remote URL
# origin  https://github.com/user/repo2.git (fetch)
# origin  https://github.com/user/repo2.git (push)

Changing a remote’s URL

为了获得所有这些,我添加了:git remote set-url --push origin git@github.com/User/Branch.git 和 git remote set-url composer https://github.com/User/Branch.git

@MS Berends git remote -v 有助于验证,而接受的解决方案没有提供。

注意:如果您收到 403 禁止,请按照本教程进行操作:janac.medium.com/…

我这样做了,但是在我使用 git add . && git commit -m 'fix' && git push origin 推送到新遥控器之后,它说一切都是最新的,而新遥控器是空的。可能是什么原因 ?

解决方案3:

huntsbot.com汇聚了国内外优秀的初创产品创意,可按收入、分类等筛选,希望这些产品与实践经验能给您带来灵感。

git remote set-url {name} {url}

git remote set-url origin https://github.com/myName/GitTest.git

解决方案4:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

Change Host for a Git Origin Server

来自:http://pseudofish.com/blog/2010/06/28/change-host-for-a-git-origin-server/

希望这不是您需要做的事情。我一直用来在几个 git 项目上协作的服务器的域名过期了。这意味着找到一种迁移本地存储库以恢复同步的方法。

更新:感谢@mawolf 指出最近的 git 版本有一个简单的方法(2010 年 2 月发布):

git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git

有关详细信息,请参见手册页。

如果您使用的是旧版本,请尝试以下操作:

需要注意的是,这仅适用于同一服务器,只是名称不同。

假设新主机名是 newhost.com,而旧主机名是 oldhost.com,则更改非常简单。

编辑工作目录中的 .git/config 文件。您应该会看到如下内容:

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://oldhost.com/usr/local/gitroot/myproject.git

将 oldhost.com 更改为 newhost.com,保存文件即可。

从我有限的测试 (git pull origin; git push origin; gitx) 来看,一切似乎都井然有序。是的,我知道弄乱 git 内部是不好的形式。

形式不好?也许。但是,如果您需要做一些作者没想到有人会做的事情,那么有时需要搞乱内部结构。但是如果你弄错了,你必须愿意接受后果。 Backup your local repository _before_ messing with git internals.

我可以在哪里找到 .git/config

解决方案5:

HuntsBot周刊–不定时分享成功产品案例,学习他们如何成功建立自己的副业–huntsbot.com

切换远程 URL

打开终端。

第一步:- 将当前工作目录更改为您的本地项目。

第二步:- 列出您现有的遥控器以获得您想要更改的遥控器的名称。

git remote -v

origin  https://github.com/USERNAME/REPOSITORY.git (fetch)

origin  https://github.com/USERNAME/REPOSITORY.git (push)

使用 git remote set-url 命令将远程的 URL 从 HTTPS 更改为 SSH。

第三步:- git remote set-url origin git@github.com:USERNAME/REPOSITORY.git

第 4 步:- 现在验证远程 URL 是否已更改。

git remote -v 验证新的远程 URL

origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
origin  git@github.com:USERNAME/REPOSITORY.git (push)

在添加新原点之前是否必须删除旧原点?

我没有从项目中删除任何东西。我只是做了上述步骤,它工作

解决方案6:

保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com

这非常容易和简单;只需按照这些说明进行操作。

添加或更改远程源: git remote set-url origin githubrepurl 对于您当前在此本地存储库中的远程 URL: git remote show origin

如果它显示 fatal: 'origin' does not appear to be a git repository

解决方案7:

huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感

git remote set-url origin git://new.location

(或者,打开 .git/config,查找 [remote “origin”],然后编辑 url = 行。

您可以通过检查遥控器来检查它是否有效:

git remote -v
# origin  git://new.location (fetch)
# origin  git://new.location (push)

下次推送时,您必须指定新的上游分支,例如:

git push -u origin master

另请参阅:GitHub: Changing a remote’s URL

我无法通过编辑 .git/config 来设置新的原点。它说 URL 中命名的 git 存储库不是 git 存储库。一旦我删除并重新创建了原点,一切都很好。不过,我没有查找 git remote set-url 作为我的问题的解决方案。

+1 用于使用 git push -u 命令提供完整答案。也许对其他人来说很明显,对我来说不是。

解决方案8:

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

如 here 所示,

$ git remote rm origin
$ git remote add origin git@github.com:aplikacjainfo/proj1.git
$ git config master.remote origin
$ git config master.merge refs/heads/master

在将一个十年前的问题与其他 21 个答案一起添加答案时,包含对您的答案的解释并指出您的答案所针对的问题的新方面是非常重要的。对于一系列命令的答案,解释每个命令在做什么以及如果可能的话如何撤消每个命令的影响是很有用的。如果有人能够执行前几个步骤,但随后在后面的步骤中遇到错误,撤消很重要。

@JasonAller 我认为这是不言自明的,这是迄今为止最好的答案,其他都是笑话。

这也将更新 git status 你的分支在 'origin/master' 之前 n 次提交到新分支

解决方案9:

huntsbot.com – 高效赚钱,自由工作

使用 gitbash git remote rm origin 上的命令删除原点 现在使用 gitbash git remote add origin 添加新的原点(从您的项目存储库中的位桶中复制 HTTP URL)完成

这是一个非常有用的答案,因为没有 git remote rm origin git 会记住有关旧来源的详细信息。

上面的 git remote rm origin 解决了多个遥控器的问题:我无法设置远程 URL 的问题。 remote.origin.url has multiple values fatal: could not set 'remote.origin.url'

@mato 喜欢什么细节?

解决方案10:

huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求

从您的 repo 终端编写以下命令:

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

请参阅 this 链接了解有关更改遥控器中 URL 的更多详细信息。

huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。

解决方案11:

huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!

首先你需要输入这个命令来查看现有的遥控器

git remote -v

然后第二个你需要输入这个命令来改变’origin’遥控器的URL

git remote set-url origin

原文链接:https://www.huntsbot.com/qa/Ldwr/how-to-change-the-uri-url-for-a-remote-git-repository?lang=zh_CN

打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值