Невозможно добавить "!" символ в сообщении git commit

Возможный дубликат:
Как мне ввести восклицательный знак в сообщение git commit из командной строки?

Я новичок в git, и я сделал эту команду:

git commit -m "First Commit!"

Это вызывает такую ​​ошибку:

bash: !": event not found

Почему эта ошибка происходит? Является ли это в git, я не должен использовать символы ! в commit?

Существуют ли другие символы, которые я не должен использовать или должен бежать с любой escape-последовательностью?

Ответы

Ответ 1

Ничто не связано с git, больше связано с bash - выходит из ! или использует одинарные кавычки, т.е.

$ git commit -m "First Commit\!"

или, лучше:

$ git commit -m 'First Commit!'

Ответ 2

Это не связанное с git, но bash связанное. С помощью! в строке вызовет bash попытку расширения истории. Если вы этого не хотите, используйте одиночные кавычки или избегайте восклицательный знак с обратной косой чертой.

Ответ 3

Нет, это возможно с помощью командной строки git и двойных кавычек. Одно простое исправление помещает пробел после !.

git commit -m "First Commit! "

Другой способ обойти это - использовать git gui или просто git commit, а затем указать сообщение в открывшемся редакторе.

Ограничение явно ограничено bash, а не проблемой git. Вы можете избежать этого, используя одинарные кавычки:

git commit -m 'First Commit!'