如何在不分叉的情况下复制gitlab / github上的git存储库?

Dhe*_*kar 8 git github gitlab

我在Gitlab / Github上已有一个存储库。我想要在相同的组下使用不同的回购名称来复制该副本。

注意:认为答案可能类似于另一个问题,我无法通过谷歌搜索找到另一个问题,我猜其他用户也可能无法做到。

Bar*_*bas 19

在 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. 交易


小智 9

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

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

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

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

  • 最简单的一个。 (3认同)

Dhe*_*kar 7

复制存储库

要复制存储库而不进行分叉,可以运行特殊的克隆命令,然后将其镜像推送到新存储库。

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

镜像存储库

1.打开(Win​​dows)Git Bash

您也可以使用(mac)Terminal /(linux)Terminal

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

git clone --bare https://github.com/_exampleuser_/_old-repository_.git
Run Code Online (Sandbox Code Playgroud)

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

cd _old-repository_.git
git push --mirror https://github.com/_exampleuser_/_new-repository_.git
Run Code Online (Sandbox Code Playgroud)

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


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