質問: いつもお世話になっております。 現在何故かgithubにpushできなくなっており困っております。 以下のエラーメッセージを見る限り、自分的には「ローカルブランチがリモートより後ろに来ているので、リモートの変更を統合するために一度pullしろ」、というような内容だと理解しています。 そして公式のリファレンスにも書いてあるので、その通りにリモートをpullしましたが解決しませんでした。 ただそもそもこのリポジトリのメンバーは私以外おらず、ブランチもmasterとdevelop以外存在しません。 それで、 1. *developで開発* 2. *developでcommit、push* 3. *masterでmerge、push* 4. *1に戻る* の手順しかしておらず、延々fast-forwardが起きているだけであり、「ローカルブランチがリモートより後ろに来ている」 というのはまず起きないと思っています。 何が原因で起こっており、どう解決すればよいでしょうか? まだgitに対する理解があまり深くなく、頓珍漢な質問をしてしまっていたら申し訳ありません。 ですが宜しければ、お力添えをよろしくお願いいたします。 ### エラーメッセージ ``` ! [rejected] HEAD -> develop (non-fast-forward) error: failed to push some refs to 'https://github.com/taku-hu/my-book-manager.git' hint: Updates were rejected because the tip of your current branch is behind 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. ``` ### ログ ``` 69c4de4 (HEAD -> develop) fix: tableの文字のはみ出しを修正 a58f0f6 fix: bookmarkの数値判定を正規表現に変更 a0bd664 add: スマホのレイアウトに装飾を追加 089ee83 fix: 処理の簡略化&コードの整理 912bfb2 fix: コード整形 a3f9035 (origin/master, master) Merge branch 'develop' df47cf3 fix: classの命名基準を統一 0153cf6 Merge branch 'develop' 9617242 add: スタイル調整用のspanタグをJS側で生成する処理を追加 ```
回答: こんにちは。 > > 「ローカルブランチがリモートより後ろに来ている」 というのはまず起きないと思っています。 > > > とありますが、メッセージはそうなっていると言っています。 まずは、何が起こっているのかを確認します。 ``` $ git fetch # リモートリポジトリの現在の状態を取得 $ git log --oneline --graph --decorate develop origin/develop # ログをグラフ付きで出力する ``` 以上のコマンドでコミットログを確認できます。 表示されるグラフの内、`develop` と `origin/develop` の繋がりを確認して下さい。 質問のエラーメッセージが出ているということは、確実に分岐が発生しています。 分岐の内容が確認できたら、マージするなりコミットを捨てるなりして対応すれば良いです。