如何在GitLab中设置默认存储库

如何在GitLab中设置默认存储库,git,gitlab,Git,Gitlab,我想在GitLab中设置一个默认的存储库,它随每个新项目一起提供。因此,当我签出新项目时,我签出的不是一个空的回购协议,而是一个装满了默认项目文件夹和文件的回购协议 有人知道怎么做吗?选项1 您可以使用所有默认文件夹和文件设置基本项目,然后克隆该项目,作为每个新项目的第一步。克隆后,将remote更改为指向新的remote repo并推送到它 工作流程如下所示: 在GitLab上创建新项目并复制克隆URL 将基础项目克隆到新目录中,并导航到该目录 更改远程URL以指向新项目的克隆URL 将主分支

我想在GitLab中设置一个默认的存储库,它随每个新项目一起提供。因此,当我签出新项目时,我签出的不是一个空的回购协议,而是一个装满了默认项目文件夹和文件的回购协议

有人知道怎么做吗?

选项1 您可以使用所有默认文件夹和文件设置基本项目,然后克隆该项目,作为每个新项目的第一步。克隆后,将remote更改为指向新的remote repo并推送到它

工作流程如下所示:

  • 在GitLab上创建新项目并复制克隆URL
  • 将基础项目克隆到新目录中,并导航到该目录
  • 更改远程URL以指向新项目的克隆URL
  • 将主分支机构推至新回购
  • 这方面的命令是:

    选择2 您可以将每个新项目从基础项目中分离出来。这样做的好处是完全可以在GitLab UI中完成。不过,基本项目必须位于单独的命名空间(用户名或组)中,因为GitLab不允许将项目分叉到与原始项目相同的命名空间中

    工作流程如下所示:

  • 分叉基本项目
  • 转到新项目的设置并打破fork关系。您永远不会将此项目合并回基础项目,因此不需要它
  • 重命名新项目
  • 选择3 在GitLab v8.6.0之前,此方法将公开日志中导入的回购的完整URL。如果您从私人回购导入,并将用户名/密码放入URL中,则日志文件中将以明文形式显示。有关更多信息,请参阅

    每次都可以将基础项目作为新项目导入。这还有一个好处,即它可以完全在GitLab UI中完成,并且您可以在开始导入之前重命名项目,这样您就不必担心会有另一个名称空间,如选项2中所示。如果您的GitLab实例允许从任何repo URL导入,则此方法效果最佳

    工作流程如下所示:

  • 复制基本repo的HTTPS克隆URL
  • 单击GitLab中的“新建项目”,并选择“通过URL从任何回购导入项目”选项
  • 粘贴在基础回购的URL中。如果您的基本回购协议不公开,则需要将您的用户名/密码添加到URL中,如下所示:
    https://username:password@gitlab.company.com/username/base project.git

  • 请注意,如果必须在导入URL中包含密码,并且用户名或密码中有
    @
    符号,则必须对其进行URL编码。所以
    p@ssword
    将变成
    p%40ssword

    您好,谢谢您的回复。我知道这个方法,但我想避免它。我知道我想要的方式可以通过某种方式实现,因为我已经看到了它的工作原理。您也可以创建默认项目,然后每次都进行分叉,您可以完全从GitLab UI来完成。不过,您必须在不同的组名或用户名下创建默认项目,因为GitLab不允许您将项目分叉到同一名称空间。有没有办法在我设置新项目时自动分叉?@Corona选项3可能最适合您。这是最接近自动化的。这太好了,伙计。我喜欢第三个。非常感谢。
    git clone https://gitlab.com/username/base-project new-project
    cd new-project
    git remote set-url origin https://gitlab.com/username/new-project
    git push -u origin master