[解決済み] ! [却下】マスター→マスター(フェッチファースト)
2022-01-02 16:42:55
質問
git respo を使用して、以下のコマンドを実行しようとしています。
$ git push origin master
しかし、私はエラーが発生します。
! [rejected] master -> master (fetch first)
error: failed to push some refs to '[email protected]:zapnaa/abcappp.git'
解決方法は?
答えはそこにあります。gitはあなたに最初にフェッチするように言っているのです。
おそらく他の誰かがすでにマスターにプッシュしていて、あなたのコミットが遅れているのでしょう。したがって、フェッチしてチェンジセットをマージし、それからまたプッシュできるようにしなければなりません。
そうしないと(さらに悪いことには
--force
オプション) を使用すると、コミット履歴を台無しにすることができます。
EDIT: 最後のポイントについてもう少し詳しく述べますと、ちょうどここの人が
--force
というオプションがあります。
git は DVCS であるため、理想的には多くの開発者があなたと同じプロジェクトで同じリポジトリ(またはそのフォーク)を使って作業しています。もしあなたがチェンジセットで強制的に上書きしてしまうと、あなたのリポジトリは他の人のリポジトリと不一致になってしまうでしょう。あなたは他の人を不幸にし、リポジトリも被害を受けるでしょう。おそらく世界中の子猫が泣くことになるでしょう。
TL;DR
- 解決したい場合は、まずフェッチする(その後マージする)。
-
ハックしたい場合は
--force
オプションを使用します。
前者を求めたのはあなたですが。自分でgitを使うにしても、常に1)を目指せ。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 新しいローカルブランチをリモートの Git リポジトリにプッシュし、それを追跡するにはどうすればよいのでしょうか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] git rebase の取り消し
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git を使ってタグをリモートリポジトリにプッシュするには?
-
[解決済み] detached HEADとmaster/originの連携はどうすればいいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
batスクリプトからログを出力する方法
-
パスワード入力を非表示にする InstallShield スクリプト
-
FcScript V1.0 ヘルプファイル(説明書付き
-
[解決済み】R: predict() で数値 'envir' 引数が長さ1でない。)
-
[解決済み】「Error: デフォルトのデータセット例mtcarsとggplot2における「離散的なスケールに連続的な値が供給された」。
-
[解決済み] メインループの 'builtin_function_or_method' オブジェクトが反復可能でない
-
[解決済み】ファイルにデータを書き込むときにこのエラーが発生する理由
-
[解決済み】ポインタと整数の比較を警告する
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException: 行が見つかりません [重複]。
-
[解決済み】git pullしようとするとエラー: .git/FETCH_HEAD を開けない: パーミッションが拒否される