1. ホーム
  2. コード管理
  3. ギット

gitアップロードの共通エラー処理

2022-01-21 11:05:30
gitアップロードファイルのエラーを修正する方法 [rejected] master -> master (fetch first) error: failed to push some refs to '.

<! -more-->。

gitでファイルのアップロードを始めたところ、いくつかの問題にぶつかりました。 最初の問題 アップロードの手順。

git add .
git commit -m "prompt message"
git push origin master

エラーです。

! [rejected] master -> master (fetch first) error: failed to push some refs to '...'

この問題は、githubのREADME.mdファイルがローカルコードのディレクトリにないために発生するので、以下のコマンドでマージすることができます。

git pull --rebase origin master

第二の課題 ! [リモート拒否] master -> master (受信前のフックが拒否されました)

コードをプッシュすると上記のようなエラーになり、解決策としてはprotectedの設定を変更するか、新しいブランチを作成し、自分のブランチにプッシュすることです

一昨日、あるプロジェクトをGitLabにアップロードしようとしたのですが、何度やってもアップできず、以下のようなエラーが出ていました。

! [リモート拒否] master -> master (受信前フックが拒否されました)

スクリーンショット

最初はユーザー名とパスワードが間違っているのかと思い、ネットで検索しても明確な結果が出ず、何度も試して、ようやく解決策を見つけました。

git push がうまくいかないのは、push するブランチが保護されており、プロジェクトの管理者または管理者から適切な権限を与えられた人でなければできないからです。

1. プッシュしたいコンテンツがあるブランチの保護されたパーミッションをオフにする

(1) プロジェクトの設定に移動する

(2) 保護されたブランチにクリックし、保護されていないをクリックして、マスターブランチの権限を変更する、つまりマスターの保護された権限をオフにします。

<図

2. 他のブランチを作成し、プロジェクトを新しいブランチにプッシュし、後でそれをマージする

(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

git push -u origin branch name

ブログに書くようなことは何もないハハハ

3つ目の質問

git add .
git push origin master

最新のものにはすべてこの問題があります。

理由は、git が変更をキャッシュにコミットし、プッシュするときにすべてのローカルブランチをプッシュしないため、この問題が発生するのだそうです。そして、変更をコミットするために新しいブランチを作成し、ブランチをマージする必要があります。

1. まず、変更をコミットするための新しいブランチを作成します

 git branch newbranch

2. このコマンドが正常に作成されたことを確認する

 git branch

この時点でターミナルに出力されます。

newbranch

*master

これで現在作業しているブランチが作成され、ブランチの切り替えが行われます。

3. git checkout newbranch

4. そして、新しいブランチに変更をコミットします。

git add .


git commit -m "prompt message"

この時点で、コミットをチェックアウトすることができます。コミットが成功したら、master ブランチに戻り、git checkout master

5. 新しいブランチにコミットされた変更をmasterブランチにマージします。

 git merge newbranch

ブランチをマージするとコンフリクトが発生するのは当然のことで、今回はコンフリクトを発生させない新しいブランチを作成しますが、それをここに記録しておきます。を使うことができます。

git diff でどのファイルが競合しているかを確認し、それに対応する変更を加えて再度コミットします。

6. 問題が解決されたので、コードをプッシュすることができます。

git push -u origin master

7. 最後に、新しいブランチを作成した場合は、それを削除することを忘れないでください。

 git branch -D newbranch

ブランチはそのままにして、マージした部分だけ削除したい場合は、大文字のDを小文字のdに変更すればよい。

まとめると、おそらくアップロード作業中にこれらの大きな問題に遭遇し、解決策をWebで検索したところ、同じ問題に遭遇しても解決策が当てはまらない可能性があることがわかりました。ちなみに、他の解決策や問題点があるかどうかは、後ほど見てみたいと思います。