読者です 読者をやめる 読者になる 読者になる

WonderPlanet DEVELOPER BLOG

ワンダープラネットの開発者ブログです。モバイルゲーム開発情報を発信。

【Git】SourceTreeでのリベース手順

はじめに

今回の記事は大橋が担当します。よろしくお願いします。

 さて、GitクライアントとしてSourceTreeを使っていて、
あるとき、作業ブランチにマスターブランチの更新を取り込もうとリベースしたら
コンフリクトしたことがありました。
リベース時にコンフリクトした場合の対処手順の情報はWeb上にいっぱいありましたが、
その多くがGitコマンドでの解説で、SourceTree上での操作がよくわからなかったので、
今回は、SourceTreeでのリベース手順を解説したいと思います。

 SourceTreeでリベースしたらコンフリクトしてよくわかんない状況になった、
といった状況の助けになれば幸い。

 

状況

想定する状況として、

・マスターブランチ(master)から作業ブランチ(test)を切って、作業ブランチに変更を加えた
・その後、マスターブランチにも変更が加えられた
・作業ブランチをマスターブランチのHEADにリベースして、masterの変更を取り込みたい

を考えます。

SourceTree_1

 

手順

1. 作業ブランチをチェックアウト

リベースの準備として、作業ブランチをチェックアウトしている状態にします。

2. マスターブランチにリベース

マスターブランチを右クリックして、メニューから「現在の変更を’master'にリベース」を選びます。

SourceTree_2

すると、確認ダイアログが出るので、「OK」をクリック。

SourceTree_3

これで、リベース処理が行われます。

3. コンフリクトを解決

もしコンフリクトした場合は、コンフリクトを知らせるダイアログが出るので、
まずは「OK」をクリックして閉じます。

SourceTree_4

ダイアログを閉じるとコンフリクトしたファイルのリストが出ているはずです。
どうやらこの状況のとき、どのブランチもチェックアウトしていない状態になっているようです。

SourceTree_5

該当ファイルのコンフリクトを解決します。
コンフリクトを解決したとき、特にコミットなどは必要ありません。

SourceTree_6

4. リベースの再開

コンフリクトを解決したら、[操作]-[リベースを続ける]を選択します。

SourceTree_7

確認ダイアログが出るので、すかさず「OK」ボタンをクリック。

SourceTree_8

コンフリクトしなければ、無事リベースが完了します。
もし再度コンフリクトしたら、コンフリクト解決の手順を繰り返します。

SourceTree_9

 

おわり

以上、SourceTreeでのリベース手順になります。