【发布时间】:2018-01-31 04:00:30
【问题描述】:
我在 Gitlab / Github 上有一个现有的存储库。我想要在同一组下使用不同的 repo 名称复制它。
注意:认为答案可能类似于another question,我无法通过谷歌搜索找到上述另一个问题,我猜其他用户可能也无法这样做。
【问题讨论】:
我在 Gitlab / Github 上有一个现有的存储库。我想要在同一组下使用不同的 repo 名称复制它。
注意:认为答案可能类似于another question,我无法通过谷歌搜索找到上述另一个问题,我猜其他用户可能也无法这样做。
【问题讨论】:
在 gitlab 中有开箱即用的功能:
Settings -> General
Advanced 包含Export 按钮。单击它,然后在此页面顶部您可以看到信息消息Project export started. A download link will be sent by email.
项目 NAME_OF_YOUR_EXISTING_PROJECT 已成功导出。
可以从以下位置下载项目导出:SOME_LINK
下载链接将在 24 小时后失效。
Downloads文件夹Project - Your projects页面New project
Blank project 选项卡上设置新项目的名称Import project标签Gitlab export
Choose file,选择之前下载的文件*.tar.gz
Import project
Import in progress标签。【讨论】:
Import project 上的选项Gitlab export 可能隐藏在本地GitLab 实例上。它可以在管理菜单Admin Area > Settings > General > Visibility and access controls (docs.gitlab.com/ee/user/admin_area/settings/…) 中激活。
要复制一个仓库而不分叉它,您可以运行一个特殊的克隆命令,然后镜像推送到新的仓库。
在您可以复制存储库并推送到存储库的新副本或镜像之前,您必须在 GitHub/Gitlab 上创建新存储库。在这些示例中,exampleuser/new-repository 是镜像。
1. 打开(Windows)Git Bash
你也可以使用 (mac)Terminal / (linux)Terminal
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. 删除您在第 2 步中创建的临时本地存储库。
cd ..
rm -rf _old-repository_
参考:https://help.github.com/articles/duplicating-a-repository/
【讨论】:
另一个最简单的方法是......
您可以通过提供 Git URL 来导入现有存储库:
https://docs.gitlab.com/ee/user/project/import/repo_by_url.html
【讨论】: