SourceTreeでリベースして強制プッシュの手順


# ドキュメントの対象ユーザ
* SourceTree By Atlassianを使っている、かつ、コマンドラインは苦手（≒ターミナルでgitコマンド打ちたくない）
* 元（例master）から分岐させたブランチ（例development）で作業して、 __masterをリベースせずにコミットしてmasterにプルリクしたらところコンフリクトが発生__ した（橙色の三角形）
![Kobito.F9qGu3.png](https://qiita-image-store.s3.amazonaws.com/0/124445/394b77e7-2f2d-c55f-fcc8-4269b668dd02.png "Kobito.F9qGu3.png")

* コードをどう直せばいいかわかるけど、SourceTree上での手順がわからないので知りたい

# やること概要
* SourceTreeでリベースして強制プッシュ（タイトルまんま）


# 手順

## SourceTreeでリベース

1. masterブランチをチェックアウトする
![Kobito.ViY40T.png](https://qiita-image-store.s3.amazonaws.com/0/124445/83155330-951d-a6ea-d326-26a518327d97.png "Kobito.ViY40T.png")


1. プルして最新にする
![スクリーンショット 2016-06-22 18.26.32.png](https://qiita-image-store.s3.amazonaws.com/0/124445/bfffb9a8-4515-80e9-0df5-257cf6ba2cc4.png "スクリーンショット 2016-06-22 18.26.32.png")


1. developmentブランチをチェックアウトする
![スクリーンショット 2016-06-22 18.28.09.png](https://qiita-image-store.s3.amazonaws.com/0/124445/48d3feff-74f4-a476-a516-3e2514b5f635.png "スクリーンショット 2016-06-22 18.28.09.png")


1. グラフからmasterブランチの最新のコミットを選択し右クリックして __リベース__ を選択
![Kobito.87CkK4.png](https://qiita-image-store.s3.amazonaws.com/0/124445/72c012a9-b857-998d-c48f-b39a2471e2a1.png "Kobito.87CkK4.png")

1. リベースの確認とマージで競合ダイアログをOKする
![スクリーンショット 2016-06-22 18.28.43.png](https://qiita-image-store.s3.amazonaws.com/0/124445/b3d55930-9e92-1f34-78fa-b30b1eec6e8d.png "スクリーンショット 2016-06-22 18.28.43.png")
![スクリーンショット 2016-06-22 18.28.50.png](https://qiita-image-store.s3.amazonaws.com/0/124445/b0b4981b-c196-6b59-cf40-f6dde7b750fa.png "スクリーンショット 2016-06-22 18.28.50.png")

## コンフリクトを解消
1. ファイルステータスでコンフリクトを確認
コンフリクトが起きたファイルが表示されているのでそれらの内容を確認する。
![スクリーンショット 2016-06-22 18.28.59.png](https://qiita-image-store.s3.amazonaws.com/0/124445/ec89e464-01ba-42b9-6e53-67ce3b2fb1f2.png "スクリーンショット 2016-06-22 18.28.59.png")
![スクリーンショット 2016-06-22 18.29.31.png](https://qiita-image-store.s3.amazonaws.com/0/124445/923d00f3-ee2b-3c16-b252-118d8d10ca53.png "スクリーンショット 2016-06-22 18.29.31.png")
エディタでも確認
![スクリーンショット 2016-06-22 18.30.49.png](https://qiita-image-store.s3.amazonaws.com/0/124445/62aef21f-c438-dbcf-8eb6-14993b902295.png "スクリーンショット 2016-06-22 18.30.49.png")

1. コンフリクトを解消する
エディタでコンフリクトを解消させる。（みりみりがんばりましょう）
![スクリーンショット 2016-06-22 18.30.58.png](https://qiita-image-store.s3.amazonaws.com/0/124445/1e6b54b1-b87c-94a6-5499-2c3c14d12991.png "スクリーンショット 2016-06-22 18.30.58.png")

## リベースの続行
1. 作業ツリーのファイルをIndexにステージする
![スクリーンショット 2016-06-22 18.31.07.png](https://qiita-image-store.s3.amazonaws.com/0/124445/95623907-6739-cca0-271c-b49bf37d03c9.png "スクリーンショット 2016-06-22 18.31.07.png")

1. コンフリクトを示すアイコン（橙色の三角形）が無くなることを核にする
![スクリーンショット 2016-06-22 18.31.50.png](https://qiita-image-store.s3.amazonaws.com/0/124445/9da8d8ad-3b2c-ecbf-974c-46a916db24cc.png "スクリーンショット 2016-06-22 18.31.50.png")

1. SourceTreeのメニューの　操作→リベースを続ける を実施（リベースを続行しますかダイアログはOKですすめる）
![スクリーンショット 2016-06-22 18.32.07.png](https://qiita-image-store.s3.amazonaws.com/0/124445/a8f97408-eb56-170d-137c-21e06c0b9ee1.png "スクリーンショット 2016-06-22 18.32.07.png")
![スクリーンショット 2016-06-22 18.32.23.png](https://qiita-image-store.s3.amazonaws.com/0/124445/0d800a85-92f2-de70-464f-06cdf4c1246c.png "スクリーンショット 2016-06-22 18.32.23.png")

## 強制プッシュ
1. 強制プッシュの準備をする。
SourceTreeはデフォルトでは強制プッシュが無効なので、環境設定→全般を開いて __強制プッシュを許可__にチェックを入れる
![スクリーンショット 2016-06-22 18.37.09.png](https://qiita-image-store.s3.amazonaws.com/0/124445/ce6055c6-1490-25f5-fc74-1ec552f97aa0.png "スクリーンショット 2016-06-22 18.37.09.png")

1. 強制プッシュを実施する
プッシュを行う。途中のダイアログの左下に __強制プッシュ__ にチェックボックスが現れている。これにチェックを入れてOKを押して強制プッシュをする。強制プッシュを確認ダイアログが出てもそのままOKですすめる。
![スクリーンショット 2016-06-22 18.37.48.png](https://qiita-image-store.s3.amazonaws.com/0/124445/f77233ca-530f-c2d8-0af9-a4df9154dcf2.png "スクリーンショット 2016-06-22 18.37.48.png")
![スクリーンショット 2016-06-22 18.37.59.png](https://qiita-image-store.s3.amazonaws.com/0/124445/6f03573d-bd70-7e74-2013-4731064c35ce.png "スクリーンショット 2016-06-22 18.37.59.png")

## Bitbuketでコンフリクトが解消されていることを確認する。
Bitbucketのdevelopmentブランチに接続して、コンフリクトが解消されたことを確認しましょう。
![Kobito.s942Bp.png](https://qiita-image-store.s3.amazonaws.com/0/124445/e6be45c3-9b4b-bdbf-3216-5d6d68aec915.png "Kobito.s942Bp.png")
これで終わりです

# 備考
* 強制プッシュは慎重に行ってください。一人で更新を進めているブランチであれば最新が手元にあるため事故が起きても取り返しがつきますが、2人以上で更新をしているブランチでは最新が必ずしも手元にあるとは限らないため、強制プッシュにより問題が起きる可能性があります。
* 強制プッシュは使いたくないので、コミットする前はリベースするようこころがけましょう。
* Bitbuketでなくても、Githubでも同様だと思う。

# 参考
* http://developer.wonderpla.net/entry/blog/engineer/Git_RebaseOnSourceTree/