Use of apostrophe (single-quote) in a Git commit message via command line

GitBashEscaping

Git Problem Overview


I am trying to take this one step further. How could this work in a standard Bash shell?

git commit -m 'cracked enigma's code'

Could this simply be done with backslash-escaping like the following?

git commit -m 'cracked enigma\'s code'

Further, how could double-quotes be used? Also by backslash-escaping? Would that be the best way? Are there any good alternative ways?

git commit -m 'cracked the "real" enigma's code'

Git Solutions


Solution 1 - Git

Use double quotes:

git commit -m "cracked enigma's code"

Or, if your message contains other special characters, use double quotes or backslash only for the single quote:

git commit -m 'cracked $enigma'"'"'s code'
git commit -m 'cracked $enigma'\''s code'

Solution 2 - Git

There is no need to escape the ' character if your commit is double quoted.

git commit -m "cracked enigma's code"

EDIT: Anyway, when you have some special characters to add in the commit message I prefer to edit in a editor (like nano or vim), commiting without the -m option.

git commit

And then put the message and exit. It's more confortable instead of thinking how you have to escape all those quotes and double quotes.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionnutty about nattyView Question on Stackoverflow
Solution 1 - GitchorobaView Answer on Stackoverflow
Solution 2 - GitPigueirasView Answer on Stackoverflow