覚え書き、ブログ代わりなど不定期に書き散らすWiki

マージのリセット


GITでは、マージをするとGITの管理ファイルにマージ開始が記録される。
ところがマージがまだ完了してないのに、競合したファイルや変更されたファイルがなくなると、
SourceTree の画面表示があたかもマージが完了したようになることがある。
「もういいのかな?」と思って次の操作をしようとすると

このようなエラーが出たりする。

こんなときはマージをキャンセルしてやり直そう。
マージを取りやめる操作がマージのリセットである。
以下の操作をする。
  1. ツールバーから「ターミナル」をクリックする。
  2. 以下を入力する。
git reset --merge

これでリセットできるが、やや面倒なのでカスタム操作に登録しよう。
先ずSourceTree の内蔵のgitコマンドのパスを調べる。
以下のようにする。
  1. ツールバーの「ターミナル」ボタンからMinGW 画面を表示する
  2. echo $BIN
ここで表示されたパス名が、SourceTree の内蔵のgitコマンドが
格納されているパスである。
例: C:\Users\suzuki\AppData\Local\Atlassian\SourceTree\git_local\bin\

カスタム操作を登録する。
  1. メニューから「ツール」「オプション」を選択する。
  2. 「カスタム操作」タブを選択する。
  3. 「追加」ボタンをクリックする。
  4. 「メニュー表示名」に「reset merge」と入力する。
  5. (お好みで)「詳細な出力を表示」をチェックする。
  6. 「実行するスクリプト」に先ほどのパスとgit.exeを入力する。例「C:\Users\suzuki\AppData\Local\Atlassian\SourceTree\git_local\bin\git.exe」
  7. 「パラメータ」に「reset --merge」と入力する。

これで、カスタム操作から「reset merge」を選択するだけで、
ターミナルから入力したのと同じ操作になる。
カスタム操作はメニューの「操作」「カスタム操作」から選択するか、
コミットを右クリックしても選択できる。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます