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

我在硬盘驱动器(本地)上克隆的 USB 密钥上有一个回购(来源)。我将 “起源” 移至 NAS 并成功测试了从此处克隆它的过程。

我想知道是否可以在 “本地” 设置中更改 “源” 的 URI,以便它现在可以从 NAS 而不是从 USB 闪存中提取。

现在,我可以看到两种解决方案:

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

  • 在 “本地” 中添加新的遥控器,然后删除旧的遥控器(我担心会破坏我的历史记录)。

答案

您可以

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

(请参阅git help remote ),也可以只编辑.git/config并在那里更改 URL。除非您做一些非常愚蠢的事情,否则您不会失去历史记录的危险(并且,如果担心,只需复制一份您的回购协议,因为您的回购协议就是您的历史记录。)

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)

更改遥控器的 URL

更改 Git Origin 服务器的主机

来自: 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; gitxgit pull origin; git push origin; gitx一切似乎井井有条。是的,我知道混入 git 内部结构是不好的形式。

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:更改遥控器的 URL

切换远程 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

第四步: - 现在验证远程 URL 已更改。

git remote -v验证新的远程 URL

origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
origin  git@github.com:USERNAME/REPOSITORY.git (push)
  1. 在 gitbash 上使用命令删除原点git remote rm origin
  2. 现在使用 gitbash 添加新的原点git remote add origin (从项目存储库中的位存储桶中复制 HTTP URL)完成

git remote set-url {名称} {url}

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

如果您克隆了本地,则本地将自动包含,

克隆它的远程 URL。

您可以使用git remote -v检查它

如果您要进行更改,

git remote set-url origin https://github.io/my_repo.git

这里,

来源 - 您的分支

如果您想覆盖现有分支,您仍然可以使用它。它将覆盖您现有的分支...

git remote remove url
and 
git remote add origin url

为了你...

要检查 git 远程连接:

git remote -v

现在,将本地存储库设置为远程 git:

git remote set-url origin https://NewRepoLink.git

现在使其成为上游或推送使用以下代码:

git push --set-upstream origin master -f

在 Git Bash 中,输入命令:

git remote set-url origin https://NewRepoLink.git

输入凭证

完成