[git push] 解決策: ! [リモート拒否] master -> master (受信前のフックは拒否されました)
質問の説明
今日、あるプロジェクトをGitLabにアップロードしようと思ったのですが、何度やってもアップロードできず、以下のようなエラーが報告されました。
The first one: ! [rejected] master -> master (fetch first)
The second: ! [rejected] master -> master (non-fast-forward)
Third: ! [remote rejected] master -> master (pre-receive hook declined)
最初はユーザー名とパスワードが間違っているのかと思いましたが、何度も試してみたり、Webで検索しても明確な結果は出ませんでしたが、ようやく解決策が見つかりました。
分析
git push
上がらないのは
push
ブランチのパーミッションが
protected
プロジェクトの管理者、もしくは管理者から適切な権限を与えられた人だけが
push
を実行するには、プロジェクトの
push
は、次の2つの方法があります。
解決策 ①:「震災復興
- プッシュするコンテンツがあるブランチの保護されたパーミッションをオフにします。
(1)プロジェクトの
settings
(2). をクリックすると
Protected branches
をクリックします。
unprotected
意志
master
を分岐させる、つまり
master
の
protected
パーミッション
(3)では
git pull
最初にローカルリポジトリをリモートリポジトリと同じバージョンに更新しますが、後からローカルリポジトリに加えた変更は上書きされる可能性があることに注意してください、そのためには
git fetch (which does not automatically merge)
を使用して更新をチェックし、オプションでそれらをマージするか、またはローカルリポジトリの変更されたファイルを最初にバックアップします。
git pull
を作り直し、その後に
(4)の後、実行
git push
と入力すれば、動作します。
解決策 ②.
-
他の項目で新しいブランチを作成する
push
を新しいブランチに移動させ、後からmerge
(1)、新支店
git branch Branch name
(2)、ブランチの切り替え
git checkout branch name
(3), プロジェクトのアップロードを行う
git add .
git commit -m "Committed message"
git remote add origin remote repository address # You can also add -f to force a push
git push -u origin branch name
解決策 ③.
- バイオレンスタイプのソリューションです。
git は、強制的にアップロードする方法を提供しています。
git push -f
これは、バージョンの不一致などの問題を無視するものです。
forces
を使うとローカルライブラリをリモートライブラリにアップロードできますが
must be used with caution
なぜなら
-f
はネイティブのライブラリ
override the
リモートライブラリから
リモートリポジトリに重要な更新があった場合、または他の仲間によって変更された場合は
will also be overwritten
ので、重大な影響がないことを確認した場合のみ、このアクションを使用するようにしてください。
関連
-
Gitで「このリポジトリでは別のgitプロセスが実行されているようです...」と表示される問題
-
undefinedmaster -> master (non-fast-forward) と git ! [拒否] master -> master (フェッチファースト)
-
undefinedGit Git がファイルをコードクラウドにプッシュする際に報告されるエラーを解決します: ! [拒否] master -> master (最初にフェッチ)
-
undefinedGitのプッシュコードには、! [rejected] master -> master (fetch first) 問題があります。
-
エラーが発生しました。マージされていないファイルがあるため、プリングはできません
-
Git Bashが致命的に表示される:この操作は作業ツリーで実行する必要がある
-
git commit コマンドで追跡した新規ファイルをコミットすると、プロンプト *** Please tell me who you are が表示されます。
-
Git がエラーを報告しました。現在のブランチの先端が遅れているため、更新が拒否されました。
-
git を使用してリモートリポジトリを更新する場合、現在のブランチの先端がエラーの背後にあるため、更新が拒否されました。
-
git occurs このリポジトリで別のgitプロセスが動作しているようです。例えば、.NETで開いたエディタなど。エラー
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
git commit to GitHub エラー、プロンプト ! [リモート拒否] master -> master (pre-receive hook declined) エラー: 失敗しました。
-
git pull エラー: .git/FETCH_HEAD を開けない: パーミッションが拒否されました。
-
git pull reports エラー: :cannot open .git/FETCH_HEAD:Permission denied (.git/FETCH_HEADを開くことができません。
-
Gitのエラーについて覚えておく-すべて最新にする
-
gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない
-
Note: Git prompts このリポジトリで別の git プロセスが実行されているようです ....
-
Git error: cannot spawn ssh.の回避策。そのようなファイルやディレクトリはありません
-
Git学習まとめ(2)コミットには何も追加されていないが、未追跡のファイルは存在する
-
解決策正しいアクセス権を持っていることと、リポジトリが存在することを確認してください。
-
Git はファイル名の大文字と小文字を無視し、修正する