В чем смысл "взрыва" или "!" перед командой git?

Как вы можете видеть из этого отрывка, есть "!" перед командой git. Какой смысл?

[alias]
commitx = !git add . && git commit

- qaru.site/info/373101/...

Я понимаю псевдонимы и то, что делает сама команда, но не точка "!" перед командой git.

Ответы

Ответ 1

! означает "запустить в командной строке следующие команды", поэтому в этом случае псевдоним git commitx расширяется до эквивалента запуска git add . && git commit (что является ужасной ужасной идеей)

Ответ 2

Важным аспектом !, не охваченным принятым ответом, является то, что для команды оболочки рабочий каталог установлен на верхний уровень рабочей копии. Поэтому git commitx будет затем выполнять все новые и измененные файлы в рабочей копии, а при запуске git add . && git commit вручную будет выполняться, а затем фиксировать все новые и измененные файлы в текущем каталоге.