Выберите учетные данные автора для репозиториев git на основе некоторого подкаталога - PullRequest
3 голосов
/ 13 декабря 2011

Я работаю одновременно на разных работодателей. И я должен использовать разные учетные данные в базе коммитов на работодателе. Я мог бы легко запустить 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
}

Ответы [ 3 ]

2 голосов
/ 13 декабря 2011

Есть централизованный механизм для создания репо.Как какой-то скрипт на вашем пути и т. Д., Посредством которого вы делаете:

repo create -e employer -n name

или что-то в этом роде.

Команда репо (просто пример, ничего не связанная с той из Android) будетсоздайте для вас репо в нужном месте, прочитайте файл конфигурации и установите учетные данные для этого репо в зависимости от работодателя и т. д.

0 голосов
/ 15 декабря 2011

Добавить репо высшего уровня для каждого работодателя.Сделайте каждый новый проект подмодулем этого репо.Это должно позволить вам не беспокоиться об имени и настройках электронной почты для каждого проекта.

0 голосов
/ 13 декабря 2011

Вы можете установить user.name и user.email, среди прочих настроек на уровне репо.Просто напишите, если хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...