GITでは、マージをするとGITの管理ファイルにマージ開始が記録される。
ところがマージがまだ完了してないのに、競合したファイルや変更されたファイルがなくなると、
SourceTree の画面表示があたかもマージが完了したようになることがある。
「もういいのかな?」と思って次の操作をしようとすると
このようなエラーが出たりする。
こんなときはマージをキャンセルしてやり直そう。
マージを取りやめる操作がマージのリセットである。
以下の操作をする。
- ツールバーから「ターミナル」をクリックする。
- 以下を入力する。
git reset --merge
これでリセットできるが、やや面倒なのでカスタム操作に登録しよう。
先ずSourceTree の内蔵のgitコマンドのパスを調べる。
以下のようにする。
- ツールバーの「ターミナル」ボタンからMinGW 画面を表示する
- echo $BIN
格納されているパスである。
例: C:\Users\suzuki\AppData\Local\Atlassian\SourceTree\git_local\bin\
カスタム操作を登録する。
- メニューから「ツール」「オプション」を選択する。
- 「カスタム操作」タブを選択する。
- 「追加」ボタンをクリックする。
- 「メニュー表示名」に「reset merge」と入力する。
- (お好みで)「詳細な出力を表示」をチェックする。
- 「実行するスクリプト」に先ほどのパスとgit.exeを入力する。例「C:\Users\suzuki\AppData\Local\Atlassian\SourceTree\git_local\bin\git.exe」
- 「パラメータ」に「reset --merge」と入力する。
これで、カスタム操作から「reset merge」を選択するだけで、
ターミナルから入力したのと同じ操作になる。
カスタム操作はメニューの「操作」「カスタム操作」から選択するか、
コミットを右クリックしても選択できる。
コメントをかく