Вы можете поместить некоторую логику в ловушку после оформления заказа, которая будет запускаться после клона. Например:
#!/bin/sh
die() { test -n "$*" && echo "$@" >&2; exit 1; }
if test "$1" = 0000000000000000000000000000000000000000; then
url=$(git ls-remote 2>&1 > /dev/null | awk '{print $2; exit}')
test -n "$url" || die Cannot find url of remote
case $url in
*unique_string*)
git config user.email hello@world.org
git config user.name Hello World
;;
esac
fi
В этом случае выберите строку из вашего рабочего URL, которую вы можете использовать для распознавания репо. Чтобы заставить этот хук запускаться после клона, вам нужно настроить git для его использования, и это, вероятно, проще всего сделать с помощью шаблона dir. То есть, поместите приведенный выше скрипт в $HOME/.config/git-templates/hooks/post-checkout
(или куда хотите, и не забудьте chmod + x) и запустите git config --global init.templatedir '~/.config/git-templates'
Вы, вероятно, можете избежать ls-remote
Cruft и просто сослаться на origin
, но это не удастся, если вы использовали --origin
в клоне, чтобы использовать имя не по умолчанию. Вероятно (несомненно) есть более чистый способ получения удаленного URL, чем фильтрация вывода ls-remote, но это другой вопрос. Я уверен, что лучшее решение будет найдено в комментариях в ближайшее время!