Commit-editmsg

If you have ever typed git commit without the -m flag, you have interacted with this file. You might have thought you were just using a text editor to write a message. In reality, you were editing a temporary file named COMMIT-EDITMSG .

git commit -m "Fix bug in login flow" The -m flag is convenient for short messages, but it completely bypasses the COMMIT-EDITMSG workflow. This means you also bypass the powerful features that come with it: templates, hook validation, and multi-line editing. To truly appreciate the file, let's walk through a manual commit. Imagine you have staged changes. You run git commit . Your editor opens, and you see something like this: COMMIT-EDITMSG

#!/bin/sh # .git/hooks/commit-msg message_file=$1 # This is the path to COMMIT-EDITMSG pattern="^(feat|fix|docs|style|refactor|test|chore)((.+))?: .+" If you have ever typed git commit without