Use of an exclamation mark in a Git commit message via the command line

后端 未结 6 790
面向向阳花
面向向阳花 2020-12-07 12:52

How do I enter an exclamation point into a Git commit message from the command line?

It is possible to escape the exclamation point with a backslash, but then the ba

相关标签:
6条回答
  • 2020-12-07 13:16

    You can also type:

    git commit -am "Nailed it
    !
    "
    

    So just hit enter and place the exclamation mark on a new line, then close off the commit message. Found that one out by accident one day.

    0 讨论(0)
  • 2020-12-07 13:20

    Another way to solve that is to add a space after ! like:

    git commit -am "Nailed it! "
    

    Note the space between ! and the last ".

    (The space won't be included in the commit message - Git trims trailing whitespace from commit messages automatically.)

    0 讨论(0)
  • 2020-12-07 13:20

    If you need to use double quotes and the ! is the last character in the message, just keep the ! outside of the quotes, since we're only using quotes so that the spaces get included in the message.

    git commit -m "Reverting last commit because I don't like it"!
    

    If you need to include ! mid string, you can use single quotes but if you need to use a literal single quote, you'll need to close your quote, then put the ' outside of the string by escaping it. So, let's say your message is I don't like it! Reverting again!, this can be composed with 'I don' + \' + 't like it! Reverting again!'

    git commit -m 'I don'\''t like it! Reverting again!'
    

    Anything more complicated than this, you're probably better off with git commit and letting git invoke your default text editor :)

    0 讨论(0)
  • 2020-12-07 13:23

    Hmm. Escaping it with a slash doesn't show up in commit message for me.

    git commit -m "Nailed it\!"
    
    0 讨论(0)
  • 2020-12-07 13:34

    No need to remember what quotes or escapes to use, instead

    1. Type your command (or part of it)
    2. In your command line, press Ctr X E » will open your "external editor".
    3. Edit your command, and close your editor.

    … the command will be executed & any special characters will show up correctly in the Git commit message!

    (NB many other uses: typing complex commands, adding line breaks in your commit message etc.)

    0 讨论(0)
  • 2020-12-07 13:40

    Use single quotes instead of double quotes

    git commit -am 'Nailed it!'
    

    Alternatively, if you need to use double quotes for whatever reason but still want a literal ! then turn off history expansion at the top of your script via set +H

    0 讨论(0)
提交回复
热议问题