[解決済み] GitLabのエラーを修正しました。"このプロジェクトでは保護されたブランチにコードをプッシュすることが許可されていません"?
質問
プロジェクトで開発者アクセス権を持っているときにコードを git にプッシュすると問題が発生します。この問題はどこから来るのでしょうか?また、どのようにそれを修正するのですか?
エラーメッセージが表示されます。
エラーが発生しました。このプロジェクトでは、保護されたブランチにコードをプッシュすることは許可されていません。
...
error: failed to push some refs to ...
解決方法は?
問題ありません。すべて期待通りに動作しています。
GitLab では、いくつかのブランチを保護することができます。デフォルトでは、保護されたブランチには Maintainer/Owner のユーザーだけがコミットできます (
パーミッション
).
master
ブランチはデフォルトで保護されています。これは、開発者がマージリクエストを発行し、メインコードに統合する前にプロジェクトのメンテナに検証してもらうことを強制するものです。
プロジェクトの設定で、選択したブランチに対する保護をオン・オフできます (具体的な場所は GitLab のバージョンに依存します - 以下の説明を参照)。
同じ設定ページで、保護されたブランチへのプッシュを開発者に許可することもできます。この設定をオンにすると、保護対象のブランチへのプッシュを拒否するのに必要な操作が制限されます。
git push --force
(リベースなど)
GitLab 9.3以降
プロジェクトに移動: "設定" → "リポジトリ" → "保護されたブランチ"に展開"
スクリーンショットは10.3バージョンのものですが、この変更がいつ導入されたかはよくわかりません。
選択したブランチへのマージやプッシュを許可するユーザーを選択できるようになりました(例: ブランチから
master
ブランチへのすべての変更をマージ要求で行うように強制されます)。また、"Unprotect" をクリックすると、ブランチの保護を完全に解除することができます。
GitLab 9.0以降
GitLab 9.3 と同様ですが、"Expand" をクリックする必要がありません - すべてがすでに展開されています。
プロジェクト: "設定" → "リポジトリ" → "Protected branches" までスクロールダウンしてください。
GitLab 9.0以前
プロジェクト: "設定" → "保護されたブランチ" (あなたがプロジェクトのマスターである場合)。
次に、"Unprotect" または "Developers can push"をクリックします。
関連
-
[解決済み] GitLabのエラーを修正しました。"このプロジェクトでは保護されたブランチにコードをプッシュすることが許可されていません"?
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] Gitのプッシュを正しく強制する方法は?
-
[解決済み] Git で単一のブランチをクローンする方法を教えてください。
-
[解決済み] GitHub から特定のブランチをプルする
-
[解決済み] Heroku: 異なるローカルGitブランチをHeroku/masterにプッシュする方法
-
[解決済み] gitです。あなたのブランチはXコミット分進んでいます
-
[解決済み] 新しいプロジェクトのための新しい空のブランチを作成する
-
[解決済み] gitです。ブランチを切り替えて、コミットせずに変更を無視する
-
[解決済み】削除済みの大きなファイルがあるため、GitHubにプッシュできない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン