如何在没有forking的情况下在gitlab / github上复制git存储库?

时间:2017-08-22 18:47:57

标签: git github gitlab

我在Gitlab / Github上有一个现有的存储库。我希望在同一组下使用不同的回购名称复制一份。

注意:认为答案可能类似于another question,我无法通过Google搜索找到所述另一个问题,我猜其他用户也可能无法这样做。

3 个答案:

答案 0 :(得分:4)

复制存储库

要复制存储库而不使用它,可以运行特殊克隆命令,然后镜像推送到新存储库。

在您复制存储库并推送到存储库的新副本或 mirror 之前,您必须在GitHub / Gitlab上创建新存储库。在这些示例中,exampleuser/new-repository是镜像。

镜像存储库

1。打开(windows)Git Bash

  

你也可以使用(mac)终端/(linux)终端

2. :创建存储库的裸克隆。

git clone --bare https://github.com/_exampleuser_/_old-repository_.git

3. 镜像推送到新存储库。

cd _old-repository_.git
git push --mirror https://github.com/_exampleuser_/_new-repository_.git

4. 删除您在步骤1中创建的临时本地存储库。

参考:https://help.github.com/articles/duplicating-a-repository/

答案 1 :(得分:4)

另一种最简单的方法是...

您可以通过提供Git URL来导入现有存储库:

  1. 从GitLab仪表板中单击新项目
  2. 切换到导入项目标签
  3. 点击按网址存储按钮
  4. 填写“ Git存储库URL”和其余项目字段
  5. 点击创建项目以开始导入过程
  6. 完成后,您将被重定向到新创建的项目

https://docs.gitlab.com/ee/user/project/import/repo_by_url.html

答案 2 :(得分:2)

在gitlab中,开箱即用的功能是

  1. 转到现有项目的Settings-> General
  2. 最后展开的面板Advanced包含Export按钮。单击它,然后在此页面顶部,您可以看到信息消息Project export started. A download link will be sent by email.
  3. 检查电子邮件。有以下消息:
  

项目NAME_OF_YOUR_EXISTING_PROJECT已成功导出。

     

可以从以下位置下载项目导出: SOME_LINK

     

下载链接将在24小时后失效。

  1. 点击 SOME_LINK ,然后检查Downloads文件夹
  2. 转到Project - Your projects
  3. 点击按钮New project
  4. Blank project标签上设置新项目的名称
  5. 然后转到Import project标签
  6. 点击按钮Gitlab export
  7. 单击Choose file并选择以前下载的文件*.tar.gz
  8. 点击按钮Import project
  9. 然后您将看到Import in progress标签。
  10. 交易