Установить имя и адрес электронной почты в зависимости от git-репо? - PullRequest
0 голосов
/ 13 мая 2018

У меня есть две учетные записи github, одна для личной и другая для работы.

Если я получаю клон репо из своей рабочей учетной записи github, есть ли способ автоматически установить git config user.name и git config user.email для работыконфиг?

Ответы [ 2 ]

0 голосов
/ 13 мая 2018

Вы можете поместить некоторую логику в ловушку после оформления заказа, которая будет запускаться после клона. Например:

#!/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, но это другой вопрос. Я уверен, что лучшее решение будет найдено в комментариях в ближайшее время!

0 голосов
/ 13 мая 2018

Вы можете достичь этого, написав собственный скрипт, который будет автоматически запускаться и настраивать git config при переключении в каталог вашего проекта. совсем как rvmrc file which configures gemset

для написания скрипта вы можете обратиться по ссылке ниже: См. Это https://willi.am/blog/2015/02/27/dynamically-configure-your-git-email/

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