Я хотел бы остановиться на превосходном комментарии Дэниела Брокмана.
Определение git config --global alias.exec '!exec '
позволяет вам выполнять такие действия, как git exec make
, поскольку man git-config
указывает:
Если расширение псевдонима начинается с восклицательного знака, оно будет рассматриваться как команда оболочки. [...] Обратите внимание, что команды оболочки будут выполняться из каталога верхнего уровня репозитория, который не обязательно может быть текущим каталогом.
Также полезно знать, что $GIT_PREFIX
будет путем к текущему каталогу относительно каталога верхнего уровня репозитория. Но, зная, что это только полдела ™. Расширение переменной оболочки делает его довольно сложным в использовании. Поэтому я предлагаю использовать bash -c
примерно так:
git exec bash -c 'ls -l $GIT_PREFIX'
другие команды включают в себя:
git exec pwd
git exec make