1. ホーム
  2. git

[解決済み】「オリジン/マスターへのプッシュが拒否されました」というエラーが常に発生するのはなぜですか?

2022-02-15 04:17:11

質問

EDIT: git bash を使用している場合、注意すべきことのひとつは、AUTOCRLF を FALSE にしておく方が良いということです。

git config --global core.autocrlf false

========================================================

私はgitの初心者ですが、ファイルのデプロイに問題があります。

コマンドでファイルをpullして成功(?)したので、今度はpushしようとしているのですが...。

以下、コミットログ。(LF、CRLF、untracked Filesのエラーで何度かコミットに失敗しているので、何度か差し戻しをしています)

そしてASでは、"Push to origin/master was rejected"が表示されました。

プッシュ時のエラー

hint: Updates were rejected because the tip of your current branch is behind
!   refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
Done
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
18:53:20.176: [Lab1_movie] git -c core.quotepath=false -c 
log.showSignature=false pull --progress --no-stat -v --progress origin 
master
From https://github.com/kiranofans/Lab1_MovieApp
 * branch            master     -> FETCH_HEAD
 = [up to date]      master     -> origin/master
fatal: refusing to merge unrelated histories
18:57:26.215: [Lab1_movie] git -c core.quotepath=false -c 
log.showSignature=false push --progress --porcelain origin 
refs/heads/master:master
github --credentials get: github: command not found
github --credentials store: github: command not found
error: failed to push some refs to 
'https://github.com/kiranofans/Lab1_MovieApp.git'
To https://github.com/kiranofans/Lab1_MovieApp.git
!   refs/heads/master:refs/heads/master [rejected] (non-fast-forward)
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
Done
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解決方法は?

何を聞きたいのかよくわからないのですが。また、これらのログはあまり役に立ちません。

でも、プッシュのことを聞いているのだから......。

一般的には、まずレポをクローンするか、あるいは git init を作成します。

そして、そのレポにあるファイルを編集したり作成したりします。

そして、それらのファイルをコミットするようにステージングする必要があります。

git add <file1> <file2> ...

でステージングされたものを見ることができます。 git status

問題がなければ、その変更をコミットすることができます。

git commit -m "My commit message"

リモートリポジトリをクローンし、そこにプッシュする権限を持っている場合

git push <remote> <branch> ということで、以下のようなものがあります。 git push origin master

でリモートを表示することができます。 git remote -v

リストに必要なリモートがない場合は、リモートを追加することができます。 git remote add <give it a name> <the URL to the repo> というように git remote add upstream https://github.com/me/myrepo.git

そして、そこにプッシュする git push upstream master

Windows版Git。 https://git-scm.com/download/win
リファレンスマニュアルです。 https://git-scm.com/doc
How toはこちらです。 https://githowto.com/

[更新情報]
そのログの方が良いですよ。5行目が必要なことを教えてくれています。 git pull
誰かがあなたより先に変更をプッシュしたのでしょう。ですから、それらの変更をあなたのリポジトリに取り込み、衝突を修正し、コミットし、プッシュする必要があります。