我有一个目录,我想把它变成一个git项目。
我在gitlab中创建了一个新的项目,然后我做了以下操作:
git init
git remote add origin git@gitlab.com:a/b/c.git
git add .
git commit -m "Initial commit"
git push -u origin master
此外,我还创建了以下.gitignore
文件:
*
!*/scripts
!*/jobs
运行git push -u origin master
后,出现以下错误:
Counting objects: 33165, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (32577/32577), done.
Writing objects: 100% (33165/33165), 359.84 MiB | 1.70 MiB/s, done.
Total 33165 (delta 21011), reused 0 (delta 0)
remote: Resolving deltas: 100% (21011/21011), done.
remote: GitLab:
remote: A default branch (e.g. master) does not yet exist for a/b/c
remote: Ask a project Owner or Maintainer to create a default branch:
remote:
remote: https://gitlab.com/a/b/c/project_members
remote:
To gitlab.com:a/b/c.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@gitlab.com:a/b/c.git'
可能是什么问题?请告知
3条答案
按热度按时间qmelpv7a1#
这与issue 27456和merge request 6608相关联:
记录需要成为所有者或拥有初始推送的主权限级别
因此,这可能是权限级别问题,而不是分支问题。
请参阅commit 81ee443:
您需要是所有者或具有主权限级别才能进行初始推送,因为主分支会自动受到保护。
332nm8kg2#
我也有这个问题很长一段时间了。尝试了不同的方法,但都不起作用。我公司GitLab仓库的所有者把我的状态从“开发者”改为“维护者”,它终于对我起作用了。
k4emjkb13#
有两种方法可以解决此问题:
1.将相关开发人员的权限至少提升到“维护者”,或者
1.另一个维护者可以进入仓库的“Settings”-〉“Repository”,在“Protected Branches”下,为
main
创建一个条目(或者任何你想要的默认分支),并设置它,这样创建仓库的用户也可以推送到main.结果如下所示:x1c 0d1x Gitlab会将main
分支显示为“已删除”,因为它还不存在,但是开发人员现在可以推送他们的代码了。