15

My company has a policy that all checkins to a particular project must follow a specific multi-line template for git commits. How can I most simply create a single commit message that has multiple lines from the command line in Windows?

This is almost exactly a duplicate of "Add line break to git commit -m from command line" except that this question is specific to Windows/cmd.exe, while that question is related to bash.

Community
  • 1
  • 1
Phrogz
  • 296,393
  • 112
  • 651
  • 745

4 Answers4

16

Either create a file that contains your commit message in the right format and use git commit -F <message_file>, after which you can continually edit and reuse that same file, or create a template file and use git commit -t <template_file> to open your editor with the pre-cooked template to be filled in. The second option can be made permanent by setting the commit.template configuration variable, so you don't need to use the -t ... bit on every commit. See the git commit manual page (git help commit, if your git is installed correctly, or search online) for more information.

twalberg
  • 59,951
  • 11
  • 89
  • 84
15

You can create multiline commit message like this:

C:\> git commit -m "Line 1"^
More?
More? "Line 2"^
More?
More? "Line 3"

Note, that the circumflex character is only on odd lines.

Jan Voráček
  • 312
  • 2
  • 8
6
git commit -m "Subject" -m "Description..."
Lucas Gonzaga
  • 86
  • 1
  • 3
2

You can also use interactive rebase and then reword for editing the commit's message.

Type git commit -m "doesnt really matter whats here" and then git rebase -i HEAD~1, replace pick with r or reword, save and then edit the message.

Albert221
  • 5,223
  • 5
  • 25
  • 41
  • 3
    This is much easier than the accepted answer! Though, instead of an interactive rebase, you could save a step and use `git commit --amend`. – Mike Apr 04 '18 at 17:21
  • Sure! But this will work only for latest commit, rebase works for any! :) – Albert221 Apr 04 '18 at 18:03