0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(調査中)TortoiseGit でマージを行った場合、コンフリクトがない場合でも自動でコミットされるかどうかは、設定による

Posted at

TortoiseGit でマージを行った場合、コンフリクトがない場合でも自動でコミットされるかどうかは、設定による ので注意が必要です。
デフォルトの動作
TortoiseGit のデフォルト設定では、コンフリクトがない場合、自動でコミットされる 仕様になっています。
つまり、マージ後に手動で git commit せずとも、マージコミットが作成される。
コミットをスキップする方法

  1. マージ時に「No Fast Forward」にチェックを入れる
    TortoiseGit のマージダイアログで、
    「No Fast Forward」 のチェックを外しておくと、自動コミットを回避できる。
  2. 「Commit merge immediately」を無効化
    設定変更でデフォルト動作を変更可能TortoiseGit → Settings → Merge
    「Commit merge immediately if no conflicts(コンフリクトなしなら即コミット)」のチェックを外す
    これで、コンフリクトなしのマージ時でも コミットせずにステージング状態 で止めることができる
    マージ後に「やっぱり戻したい」場合
    もし誤って自動コミットされても、直後ならリセットで戻せる:
    git reset --merge ORIG_HEAD
    または、
    git reset --hard HEAD~1 # 直前のコミットを取り消す
    ※ --hard を使うと変更が消えるので注意!
    まとめ
    デフォルト設定では、コンフリクトがなければ自動コミットされる
    設定で「Commit merge immediately」をオフにすれば、コミットをスキップ可能
    手動で「No Fast Forward」オプションを使えば、マージ後に確認できる
    誤ってコミットしたら git reset で戻せる
    TortoiseGit でマージする際は、「Commit merge immediately」の設定を確認 しておくとよいですね。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?