How to provide a prepared git commit message?
git, scripting, shell
Solution
The `commit` command has an option for reading a commit message from a template:
-t <file>, --template=<file>
When editing the commit message, start the editor with the contents
in the given file. The commit.template configuration variable is often
used to give this option implicitly to the command. This mechanism can
be used by projects that want to guide participants with some hints on
what to write in the message in what order. If the user exits the editor
without editing the message, the commit is aborted. This has no effect
when a message is given by other means, e.g. with the -m or -F options.
Problem
By convention I create my story branches in git to include Jira issue ids in them, e.g. FOO-1001. I have a script to do that for me. Now, I have prepared another script that fetches the title of FOO-1001 from Jira API. I want to achieve that when I type: ``` $ git commit ``` My editor opens up prefilled with the following: ``` BUGFIX: FOO-1001 Some sample issue title downloaded using my script ``` What is the easiest way to achieve this using the scripts I described? My idea is to somehow format the commit message to a file so that git can find it and use as default. One way seems to be to use `prepare-commit-msg` hook, but I would prefer to achieve my goal using a standalone script, without any configuration in `.git` (so that my colleagues can easily reuse it).