質問: SourceTree初心者です。 作業をプッシュしようとしたところ、おかしくなってしまいました。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/884b4770403f05e25bb696f308b1abcc.png) この、mypage編集済みというのだけ、プッシュしたいです。 Xcode上では、赤い枝のほうになってしまっていて、コミット出来ない状態です。 どなたか助けてください。 よろしくお願いします。
回答: 最終的にはどうしたいんでしょうか? developにコミットしたmypage編集済みをmasterに入れたい = developをmasterにマージしたいということですか? [1↑ 2↓]ですから見えてるところの1つ前を起点として↓のようになってるはずです。 ``` o --+-- [mypage編集済み] <-- develop, origin/develop, master | +-- [aaa] --- [no message] <-- origin/master ``` 現在はorigin/masterとmasterそれぞれに別のコミットがあって袂を分けた状態ですからプッシュしようとしてもorigin/masterを進めることができず失敗します。 masterに切り替えてプルしたらorigin/masterをマージしてくれないでしょうか? もし無理だったら以下の手順で戻るはずです。 1: Uncommitted changesをスタッシュに入れて変更がない状態にします。 2: 現在のブランチをmasterに切り替え、masterをリセットして起点まで戻します。 ``` o(master) --+-- [mypage編集済み] <-- develop, origin/develop | +-- [aaa] --- [no message] <-- origin/master ``` 3:プルしてmasterとorigin/masterを一致させます。 ``` o --+-- [mypage編集済み] <-- develop, origin/develop | +-- [aaa] --- [no message] <-- master, origin/master ``` 4: masterにdevelopをマージしてプッシュします。 ``` o --+-- [mypage編集済み]----------+---- <-- develop, origin/develop | | | master, origin/master +-- [aaa] --- [no message] --+ ``` 5: 保存したスタッシュをポップしてUncommitted changesを戻します。 これでmasterにdevelopがマージされすべて同じコミットになります。 それともaaa, nomessageをなかったことにしたい?