2015年01月08日
【egit】masterブランチに拒否 non-fast-forwardをくらった
画像がはれないと文字だけになってしまいますが、備忘録です
■やりたいこと
①masterAブランチが他の手によって進んでいる
②localBブランチを自身で進めているが、この変更分をmasterAブランチに上げたい
■最初にやった手順
①masterAブランチに切り替えてフェッチ
②「チーム」→「マージ」→localBブランチを選択
③拒否 non-fast-forwardが出る(プロジェクトにコンパイルエラーはない。競合エラーも起きていない)
■以下、ここから他サイトさまのgitでの同事象を参考にやってみた手順
①リセット(なんとなく)
②「チーム」→「リベース」→masterAブランチを選択
③[Rebase Interactive origin/masterA]とブランチ表記がされ、競合エラーが出まくる
ちなみに、「チーム」→「ヒストリーの表示」をすると、おなじみのツリー?表記が出てきます。
④1つずつ競合を解消
上記のようなコメントのところを、ちくちくとmaster分残したり自分の追加分を確認したりしながらやっていきます。コンパイルエラーは絶対とろう。
⑤コミット&push する
⑥まさかの、ローカルで[Rebase Interactive origin/masterA][Rebase Interactive b6amofu]と表記される。。。ちなみに、localBの変更も取り込まれていない。競合マークも出たままだしでショックを受ける。
■この状態で気づいたこと
①この状況でリベース選択、おかしくない?
②こちらのありがたい情報を参考に、リベースを取り下げ。(もうプッシュしちゃったけどね…己のバカさ加減にこの後痛い目見る)
③最初にやった手順-③に戻る
■やっと、最初の問題に戻って再スタート
①「チーム」→「マージ」でlocalBブランチを選択
②競合が出る。(失敗というやつなのだろうか)
③eclipseを「チーム同期化」のパースペクティブに変更する
④1つ1つをマージする。
(ローカルとリモートが全く同じ場合とか、ローカルを優先させたい場合に何も変更せずファイルを右クリック「マージ済みをマーク」を選んでも何も起きなかった。
・ローカルとリモートが同じ場合・・・右クリック「マージ」もしくは「上書き」を選択、右クリック「マージ済みをマーク」でOKになるものもあった。
・ローカルとリモートが異なるけどローカルを優先させたい場合・・・右クリック「マージ」を選択、右クリック「マージ済みをマーク」でOKになるものもあった。
⑤コミット&プッシュ。
しかし、この後でlocalBの変更が取り込まれていないファイルなどもあったので万能ではありません。気を付けましょう。
一番言いたいのは、こまめなマージ!
と、自分がやった順序すべて書きましたが、途中過程含めてマネするとめっちゃ時間かかるので気を付けましょう。。。
egitはプッシュしちゃったら前に戻せない(戻せる方法知ってる方教えてください)
■やりたいこと
①masterAブランチが他の手によって進んでいる
②localBブランチを自身で進めているが、この変更分をmasterAブランチに上げたい
■最初にやった手順
①masterAブランチに切り替えてフェッチ
②「チーム」→「マージ」→localBブランチを選択
③拒否 non-fast-forwardが出る(プロジェクトにコンパイルエラーはない。競合エラーも起きていない)
■以下、ここから他サイトさまのgitでの同事象を参考にやってみた手順
①リセット(なんとなく)
②「チーム」→「リベース」→masterAブランチを選択
③[Rebase Interactive origin/masterA]とブランチ表記がされ、競合エラーが出まくる
ちなみに、「チーム」→「ヒストリーの表示」をすると、おなじみのツリー?表記が出てきます。
④1つずつ競合を解消
<<<<<<< Upstream, based on origin/masterA
public static final String ="みかん";
======
public static final String ="紅まどんな";
>>>>>>> 9eb9187 #localB
上記のようなコメントのところを、ちくちくとmaster分残したり自分の追加分を確認したりしながらやっていきます。コンパイルエラーは絶対とろう。
⑤コミット&push する
⑥まさかの、ローカルで
■この状態で気づいたこと
①この状況でリベース選択、おかしくない?
②こちらのありがたい情報を参考に、リベースを取り下げ。(もうプッシュしちゃったけどね…己のバカさ加減にこの後痛い目見る)
③最初にやった手順-③に戻る
■やっと、最初の問題に戻って再スタート
①「チーム」→「マージ」でlocalBブランチを選択
②競合が出る。(失敗というやつなのだろうか)
③eclipseを「チーム同期化」のパースペクティブに変更する
④1つ1つをマージする。
(ローカルとリモートが全く同じ場合とか、ローカルを優先させたい場合に何も変更せずファイルを右クリック「マージ済みをマーク」を選んでも何も起きなかった。
・ローカルとリモートが同じ場合・・・右クリック「マージ」もしくは「上書き」を選択、右クリック「マージ済みをマーク」でOKになるものもあった。
・ローカルとリモートが異なるけどローカルを優先させたい場合・・・右クリック「マージ」を選択、右クリック「マージ済みをマーク」でOKになるものもあった。
⑤コミット&プッシュ。
しかし、この後でlocalBの変更が取り込まれていないファイルなどもあったので万能ではありません。気を付けましょう。
一番言いたいのは、こまめなマージ!
と、自分がやった順序すべて書きましたが、途中過程含めてマネするとめっちゃ時間かかるので気を付けましょう。。。
egitはプッシュしちゃったら前に戻せない(戻せる方法知ってる方教えてください)
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/3147353
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック