受講中のクラスを通じてgitを初めて紹介します。コンピューターのディレクトリに多数のファイルがあり、問題なくステージングしてコミットできます。ただし、githubリポジトリにファイルをプッシュしようとすると、次のメッセージが引き続き表示されます。
Pushing to https://github.com/BigMeanCat/CMDA
To https://github.com/BigMeanCat/CMDA
! [rejected] master -> master (fetch first)
error: failed to Push some refs to 'https://github.com/BigMeanCat/CMDA'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git Push --help' for details.
誰かがこれが何を意味するのか、それを修正する方法で私を助けてくれますか?オンラインで同様の問題を抱えている人を見たことがありますが、私はgitがまったく新しく、まだgitのコマンドライン言語に十分に精通していません。問題を解決するのか悪化させるのかわからないので、特定の提案をするのを少しためらっています。
ありがとう!
他の誰か(または他のマシンのユーザー)が変更セットをリモートリポジトリにプッシュしました。あなたは、あなたのローカルマシン上でそれらの変更をまだ持っていません。状況を解決するには、まず最初に
git pull
その後
git Push
ただし、git pull
作業ツリーに変更がある間は、プル/プッシュする前に、最初にローカルの変更をcommit
またはstash
する必要があります。これは、潜在的に、リモートの変更がローカルの変更と重複する場合にマージ状況を引き起こす可能性があります。
同じエラーが発生したので、使用した「--force」コマンドでこのトピックを解決しました。簡単に言うと、このコマンドを書きます。
git Push Origin master --force
注意:おそらく、以前に何度もコードをプッシュしようとしたため、このエラーが発生したのはこのためです。私のソリューションは、変更セットで強制的に上書きします。この方法では、リポジトリが他の人の不一致を引き起こす可能性があります。ただし、単独で作業する場合(グループ作業とは異なり)、前述のように簡単に「--force」を使用できます。
コマンドで問題を解決できます。
git Push Origin master --force
git pullは良いオプションです
しかし:git Push Origin master --forceコマンドは、問題が解決しない場合に最終的に役立ちます
誰かが作業をリモートリポジトリにプッシュしたことを意味します。作業とマージするには、git pull --rebase
その後、結合した作業をリモートリポジトリにプッシュします。
@tunacyはそれをうまく言いました。
誰かがリポジトリをコミットしたので、あなたはただする必要があります
git pull
そして
git Push
それもあなたが使用できるすべてです
git merge
マージのために
私はこれとまったく同じ問題を抱えています。友人に助けを求めたところ、彼はペーストをメインリポジトリにコピーし、以下のコマンドを書きました:git remote show Origin git add git commit -m「メインリポジトリにproject2を含む」git Push -u Origin master
最終的に、2つの異なるプロジェクトのメインリポジトリに2つのペーストを取得しました。
Gitでの作業を開始するとき、ドキュメントを少し見てみましょう: http://git-scm.com/doc 。私が理解したあなたの説明から、あなたは他のクラスメートと共有されるファイルを含む既存のリポジトリを持っています。したがって、最初にプロジェクト全体(すべてのファイルを含む)をプルする必要があります。ローカルリポジトリにプロジェクトの最新バージョンがある場合、リポジトリにコミットの変更をプッシュできます。
! [rejected] master -> master (fetch first)'
使用する: $ git pull
その後:$ git Push
代替ソリューション:$ git Push --force Origin master
ただし、これによりgithubリポジトリ内のファイルが削除されるため、最初にファイルをローカルリポジトリにプルしてから、作業をプッシュできます。
間違ったディレクトリでterminal/GitBashを開いたときにこのエラーが発生しました。実際にはリポジトリフォルダーの外。正しい場所にいるかどうかを確認してください。