答えはそこにあります、gitは最初にフェッチするようにあなたに言っています。
おそらく他の誰かがすでにマスターにプッシュしていて、あなたのコミットは遅れています。したがって、変更セットをフェッチしてマージする必要があります。そうすれば、もう一度プッシュできるようになります。
そうしない場合(またはさらに悪いことに、--force
オプションを使用して強制する場合)、コミット履歴を台無しにする可能性があります。
編集:ここの男が--force
オプションを使用することについて非常に悪いアドバイスをしたので、私は最後のポイントについてより詳細に説明します。
gitはDVCSであるため、理想的には、他の多くの開発者が同じリポジトリ(またはそのフォーク)を使用して、あなたと同じプロジェクトに取り組んでいます。チェンジセットで強制的に上書きすると、「履歴を書き直した」ため、リポジトリは他の人のリポジトリと一致しなくなります。あなたは他の人々を不幸にし、リポジトリは苦しむでしょう。おそらく世界の子猫も泣くでしょう。
TL; DR
- 解決したい場合は、最初にフェッチします(次にマージします)。
- ハッキングしたい場合は、この
--force
オプションを使用してください。
しかし、あなたは前者を求めました。1)常に、自分でgitを使用する場合でも、それは良い習慣であるためです。