gitlab:将项目复制到其他git lab存储库

VSB*_*VSB 4 git gitlab git-fork

我想将gitlab项目复制到完全独立于原始项目的其他存储库。

因此,我尝试将原始项目分叉到另一个项目中。但是在原始项目中,维护人员仍然可以看到派生列表,并且知道其他派生在哪里维护。

我想要一个没有主项目任何链接的完整副本,所以它不能由原始项目维护者管理。

我怎样才能做到这一点?

Gin*_*pin 12

另一种选择是使用 Gitlab 的导出/导入功能

在任何 GitLab 实例或 GitLab.com 上运行的现有项目可以与其所有相关数据一起导出,并移动到新的 GitLab 实例中。

其他答案的不同之处在于,它还复制了以下内容:

导出的内容

将导出以下项目:

  • 项目和维基存储库
  • 项目上传
  • 项目配置,不包括集成
  • 评论问题、合并请求与差异和评论、标签、里程碑、片段和其他项目实体
  • 设计管理文件和数据
  • LFS 对象
  • 发行版
  • 管道历史
  • 推送规则

因此,如果您只想复制代码,或者您还想迁移上面列出的其他非代码项目,这取决于您的用例。结果仍然是 2 个独立的项目(即它不会显示为一个分支)。

请注意:

如果启用了项目导入选项,则会显示GitLab导入/导出按钮。

要导出,请转到项目的设置>常规页面:

出口

然后等待带有可下载tar.gz的电子邮件文件。
(在我的 Gitlab 版本上,如果单击按钮两次,则可以直接从浏览器中下载。)

然后在 Gitlab 上导入,从顶部栏中选择“新建”按钮 >“新建项目”。
然后,选择导入项目> Gitlab 导出

进口

上面的 UI 屏幕截图可能会在未来的 Gitlab 版本上发生变化。同样,请确保参考您的 Gitlab 实例的文档页面,或查看 Gitlab EE 中的公共页面:项目导入/导出


joa*_*nis 6

我会将原始项目克隆到本地计算机上的沙箱中,在所需的位置创建新项目,将新的gitlab位置设置为远程,然后将其推送到该位置。

假设old_url和new_url是您的新旧URL:

git clone <old_url>
cd <repo_dir_name>
git remote add new_remote <new_url>
git push --all new_remote
Run Code Online (Sandbox Code Playgroud)

假设新存储库在您执行此操作时是空的,那么它将包含原始存储库中存在的所有分支和标签,而与其没有任何连接。


ard*_*igh 6

当您可能无法访问 GitLab 导出项目按钮时,另一种选择是直接从 URL 导入。

在此输入图像描述