You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何将另一个Git仓库的远程仓库导入本地仓库?

如何把远程仓库的远程导入到本地仓库

当然可以实现!其实操作起来没你想的那么复杂,我来一步步给你捋清楚怎么做:

第一步:获取目标远程仓库的上游地址

你本地仓库myrepoorigin指向http://server/repo.git,现在要拿到这个远程仓库自己的origin地址,咱们可以通过它的配置文件来获取:

  1. 先把远程仓库的配置文件拉到本地临时存储:
git fetch origin refs/config:refs/remotes/origin/config
  1. 查看这个配置文件,找到它的remote "origin"部分的URL:
git show refs/remotes/origin/config

在输出内容里,你会看到类似这样的段落:

[remote "origin"]
url = http://upstream-server/upstream-repo.git
fetch = +refs/heads/:refs/remotes/origin/

这里的url值就是咱们要找的——那个远程仓库自己的上游地址。

第二步:添加新的远程到本地仓库

拿到上面的URL之后,直接在myrepo里添加一个名为origin-origin的新远程:

git remote add origin-origin http://upstream-server/upstream-repo.git

第三步:拉取新远程的分支

最后执行fetch命令,把这个新远程的所有分支拉到本地:

git fetch origin-origin

完成之后,你输入git branch -r就能看到origin-origin/*开头的分支了,这些就是原远程仓库的上游分支,你可以像操作普通远程分支一样使用它们。

补充小技巧

如果你不想手动找地址,也可以试试这个一键命令(前提是远程仓库允许你访问它的配置):

git config --get remote.origin.url | xargs git ls-remote --get-url

不过这个方法对私有仓库可能不太友好,所以还是推荐前面的步骤更稳妥可靠。

内容的提问来源于stack exchange,提问作者Tom Ellis

火山引擎 最新活动