アフィリエイト広告を利用しています

広告

posted by fanblog

2015年01月08日

【egit】masterブランチに拒否 non-fast-forwardをくらった

画像がはれないと文字だけになってしまいますが、備忘録です

■やりたいこと
@masterAブランチが他の手によって進んでいる

AlocalBブランチを自身で進めているが、この変更分をmasterAブランチに上げたい

■最初にやった手順
@masterAブランチに切り替えてフェッチ
A「チーム」→「マージ」→localBブランチを選択
B拒否 non-fast-forwardが出る(プロジェクトにコンパイルエラーはない。競合エラーも起きていない)

■以下、ここから他サイトさまのgitでの同事象を参考にやってみた手順
@リセット(なんとなく)
A「チーム」→「リベース」→masterAブランチを選択
B[Rebase Interactive origin/masterA]とブランチ表記がされ、競合エラーが出まくる
  ちなみに、「チーム」→「ヒストリーの表示」をすると、おなじみのツリー?表記が出てきます。
C1つずつ競合を解消
<<<<<<< Upstream, based on origin/masterA

public static final String ="みかん";

======
public static final String ="紅まどんな";
>>>>>>> 9eb9187 #localB

上記のようなコメントのところを、ちくちくとmaster分残したり自分の追加分を確認したりしながらやっていきます。コンパイルエラーは絶対とろう。

Dコミット&push する
Eまさかの、ローカルで[Rebase Interactive origin/masterA][Rebase Interactive b6amofu]と表記される。。。ちなみに、localBの変更も取り込まれていない。競合マークも出たままだしでショックを受ける。

■この状態で気づいたこと
@この状況でリベース選択、おかしくない?
Aこちらのありがたい情報を参考に、リベースを取り下げ。(もうプッシュしちゃったけどね…己のバカさ加減にこの後痛い目見る)
B最初にやった手順-Bに戻る

■やっと、最初の問題に戻って再スタート
@「チーム」→「マージ」でlocalBブランチを選択
A競合が出る。(失敗というやつなのだろうか)
Beclipseを「チーム同期化」のパースペクティブに変更する
C1つ1つをマージする。
(ローカルとリモートが全く同じ場合とか、ローカルを優先させたい場合に何も変更せずファイルを右クリック「マージ済みをマーク」を選んでも何も起きなかった。
・ローカルとリモートが同じ場合・・・右クリック「マージ」もしくは「上書き」を選択、右クリック「マージ済みをマーク」でOKになるものもあった。
・ローカルとリモートが異なるけどローカルを優先させたい場合・・・右クリック「マージ」を選択、右クリック「マージ済みをマーク」でOKになるものもあった。

Dコミット&プッシュ。
しかし、この後でlocalBの変更が取り込まれていないファイルなどもあったので万能ではありません。気を付けましょう。
一番言いたいのは、こまめなマージ!

と、自分がやった順序すべて書きましたが、途中過程含めてマネするとめっちゃ時間かかるので気を付けましょう。。。
egitはプッシュしちゃったら前に戻せない(戻せる方法知ってる方教えてください)
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/3147353
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
<< 2016年02月 >>
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29          
検索
ファン
タグクラウド
最新コメント
最新記事
写真ギャラリー
カテゴリアーカイブ
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。