! git rev-parse --is-inside-work-tree >/dev/null 2>&1 || {
printf '%s\n\n' "GIT repository detected." && git status
}
The! отрицает, поэтому даже если вы запустите это в каталоге, который не является git-репо, это не даст вам некоторых фатальных ошибок
> / dev / null 2> & 1 отправляет сообщения на / dev / null , так как вы находитесь сразу после состояния выхода.
{} предназначены для группирования команд, поэтому все команды после || будут выполняться, если git rev-parse завершился успешно, так как мы используем! который отрицал статус выхода git rev-parse.
printf предназначен только для печати некоторого сообщения.
и git status для распечатки статуса репо.
Оберните это в функцию или поместите в скрипт. Надеюсь, это поможет