Я работаю одновременно на разных работодателей. И я должен использовать разные учетные данные в базе коммитов на работодателе. Я мог бы легко запустить git config author.email
и git config author.name
в каждом хранилище. Но я бы хотел сделать это в глобальном масштабе, поскольку для каждого работодателя существует множество репозиториев, а новые появляются довольно регулярно.
Я размещаю все репозитории в двух папках. то есть ~/projects/<employer_name1>/<project_name>
и ~/projects/<employer_name2>/<project_name>
.
Итак, я хотел бы, чтобы git автоматически выбирал правильные учетные данные для фиксации на основе местоположения текущего репозитория (какой это подкаталог работодателя).
Сам нашел ответ. Добавил это в .bashrc:
function git() {
case $(readlink -f .)/ in
$(readlink -f /home/cryo/projects/fun-box)/*) GIT_AUTHOR_NAME=my_name GIT_AUTHOR_EMAIL=my@email.com /usr/bin/git $*;;
*) /usr/bin/git $*;;
esac
}