如何在GitLab中创建默认分支?

22

我第一次无法将代码推送到GitLab。

我在Web界面上创建了一个Gitlab项目。
我创建了一个ASP MVC项目。
我在该目录中执行了"git init"。
我添加了远程origin
我添加并提交了更改,但是当我想要将更改推送到远程时,出现以下错误:

remote: A default branch (e.g. master) does not yet exist for
...
remote: Ask a project Owner or Maintainer to create a default branch:
...
error: failed to push some refs to

我想知道是否可以创建一个带有“开发者”角色的分支?
如果是,如何创建默认分支?
如果不行,下一步该怎么做?

2个回答

17

接下来是问题 54155:

看起来“开发人员”如果没有权限填充项目,则不应该能够创建项目,而无需请求管理员干预。

我不明白为什么我有足够的权限创建项目,但不能使其足够准备好,以便我可以推送到它,并需要使用组织中另一个人的时间来准备工作。

在我看来,要么允许状态为“开发人员”的用户创建一个已准备好推送代码的项目,或者只是不让开发人员创建项目并告诉他们必须询问维护者或所有者。

问题 51688提到:

然后我必须使用 gitlab 管理员 admin admin 登录...将用户test的访问权限聚合到test6.git,作为 devmaintainer,然后我才能推送...但如果用户 test 创建了另一个仓库,我必须再次重复所有这些步骤...

维护者可以创建新分支。请使用维护者帐户推动新项目。

但没有意义的是,用户有权限创建空仓库,但不能初始化默认分支或将其推送到他们新创建的仓库。


5
问题在于Gitlab没有创建“受保护的分支”设置,因为涉及的开发者没有该权限。Gitlab首先允许创建存储库似乎是反向的,但这只是我的个人观点。
因此有两种解决方法:
1. 提升相关开发者的权限为“Maintainer”; 2. 另一位维护者可以进入存储库的“设置”->“存储库”,在“受保护的分支”下创建一个条目,例如main(或您想要的默认分支),并设置使创建存储库的用户也能够推送到主分支。结果将如下所示: protected branch settings Gitlab将显示main分支为“已删除”,因为它尚不存在,但开发者现在将能够推送他们的代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接