2016-12-18 6 views
1

午前にもかかわらず、マスターするプッシュすることを拒否:GitLabは、私は次のことを実行しているプロジェクトオーナー

  • GitLab 8.15.0-rc1の
  • GitLabシェル4.0.3
  • GitLab主力v1.1.1デベロッパー
  • GitLabのAPI v3の
  • Gitリポジトリ2.11.0
  • ルビー2.3.3p222
  • Railsの4.2.7.1
  • のPostgreSQL 9.2.18

私はGitLab内部のプロジェクトを作成し、問題なくそこに私のコードをプッシュしています。私はプロジェクトオーナーであり、プロジェクトでは「マスター」の役割を担っています。

ブランチ 'マスター'は、デフォルトで '保護されたブランチ'として設定され、ロール 'マスター'を持つグループメンバーのみをマージしてそのブランチにプッシュできます。

ここでは、別のブランチを保証するものではなく、マスターで直接的に少し変更を加えました。私はこれらの変更をコミットしてプッシュするとき

しかし、私は次のエラーを取得する:

D:\Projects\MyProject>git push 
Counting objects: 8, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (8/8), done. 
Writing objects: 100% (8/8), 731 bytes | 0 bytes/s, done. 
Total 8 (delta 7), reused 0 (delta 0) 
remote: GitLab: You are not allowed to force push code to a protected branch on this project. 
To https://git.****.**/*****/****.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to 'https://git.****.**/*****/****.git' 

ない私が間違っているのかわから。私はGitの専門家ではありませんが、これは「強制的なプッシュ」と考えられていますか?それはロール「マスター」を持つユーザーを含むすべてのユーザーによってブロックされるためです。もしそうなら、私はマスターブランチにどのように変更を加えるべきですか?

「保護されたブランチ」と関係があります。私はそれを削除する場合、私はうまくプッシュすることができます。しかし、「保護されたブランチ」はブランチとその履歴の削除も防止するので、そのままにしておきたいと思います。

+0

マスターブランチはGitLabで保護されていると設定されていると思います。 –

+0

保護を無効にします。あなたがそれを行う方法を知らない場合。 [docs](https://docs.gitlab.com/ee/user/project/protected_branches.html)を確認してください –

+0

投稿全体をお読みください。 GitLabで保護されているブランチを設定すると、誰もが強制的に「プッシュ」するのを防ぐことができますが、「マスター」の役割を果たす者からの定期的なプッシュを許可する必要があります。これはあなたがリンクしているドキュメントでさえあります... – ChrisDekker

答えて

1

GitLabの問題追跡ツールによると、これはGit 2.11と最新のGitLabバージョンとの非互換性が知られています。元から2.10をGitはして一時的にダウングレード

https://gitlab.com/gitlab-org/gitlab-ce/issues/25301

Gitの2.11+のための適切なサポートがGitLabの将来のリリースで構築されるまで、問題を修正する必要があります。

+0

これは** ** Gitのバグではありません!これは、GitLabのバグです.GitLabは、Gitを特定の方法で制御*しようとします。 Gitの内部メカニズムはGit 2.11で変更され、Gitの背後にあるので、GitはGitの使い方を壊してしまいます。だからGitLabのバグですが、Gitではバグではありません。 – torek

+1

このバグはサーバー**のGit 2.11 **に問題があることを示しています。 –

+0

@JonathonReinhart:GitLabは、自分のGitを実行している自分のサーバー上で実行するものです。 – torek

関連する問題