Использование восклицательного знака в сообщении коммита Git через командную строку
Как ввести восклицательный знак в сообщение Git commit из командной строки?
Можно избежать восклицательного знака с обратным слэшем, но затем обратная косая черта также появляется в сообщении фиксации.
Мне нужно что-то вроде этого:
git commit -am "Nailed it!"
Ответы
Ответ 1
Используйте одинарные кавычки вместо двойных кавычек
git commit -am 'Nailed it!'
В качестве альтернативы, если вам нужно использовать двойные кавычки по какой-либо причине, но все же хотите получить литерал !
, затем отключите расширение истории вверху вашего script через set +H
Ответ 2
Еще один способ решить это - добавить пробел после! как:
git commit -am "Nailed it! "
Обратите внимание на пробел между! и последний ".
(Пространство не будет включено в сообщение фиксации - Git автоматически отключает прокручивание пробела из сообщений фиксации.)
Ответ 3
Не нужно запоминать, какие цитаты или экраны использовать, вместо этого
- Введите команду (или ее часть)
- В командной строке нажмите
Ctr
X
E
"откроет ваш" внешний редактор ".
- Отредактируйте свою команду и закройте редактор.
... команда будет выполнена &
любые специальные символы будут корректно отображаться в сообщении Git commit!
(NB много других применений: ввод сложных команд, добавление разрывов строк в сообщении фиксации и т.д.)
Ответ 4
Если вам нужно использовать двойные кавычки и !
является последним символом в сообщении, просто оставьте !
вне кавычек, поскольку мы используем только кавычки, чтобы пробелы были включены в сообщении.
git commit -m "Reverting last commit because I don't like it"!
Если вам нужно включить среднюю строку !
, вы можете использовать одинарные кавычки, но если вам нужно использовать буквальную одинарную кавычку, вам нужно закрыть свою кавычку, а затем поместить '
вне строки: избежать этого. Итак, скажем, ваше сообщение I don't like it! Reverting again!
, оно может быть составлено с 'I don'
+ \'
+ 't like it! Reverting again!'
git commit -m 'I don'\''t like it! Reverting again!'
Что-нибудь более сложное, чем это, вероятно, вам лучше воспользоваться git commit
и позволить git вызвать ваш текстовый редактор по умолчанию :)
Ответ 5
Вы также можете ввести:
git commit -am "Nailed it
!
"
Итак, просто нажмите Enter и поместите восклицательный знак на новую строку, затем закройте сообщение фиксации. В один прекрасный день обнаружили, что один случайно.
Ответ 6
Хм. Экранирование его косой чертой не отображается в сообщении фиксации для меня.
git commit -m "Nailed it\!"