LINUX.ORG.RU

Разные «аккаунты» для git

 ,


1

3

Когда коммичу в разные проекты использую разные email адреса (gmail.com, fedoraproject.org, gnome.org, redhat.com) и не очень удобно после git-clone делать git config user.email, есть какие-нибудь расширения для гита, которые, например, на базе remote URL настроят email? Или только алиасами в шелле?

P.S. гуглить лень, да и последний раз ничего хорошего не нашёл

Как вариант:

В ~/.gitconfig:

[user "https://github.com/repo1/repo1.git"]
    name = Repo1Name
    email = repo1@github.com
[user "https://github.com/repo2/repo2.git"]
    name = Repo2Name
    email = repo2@github.com

Cоответственно:

$ git config --get-urlmatch user.name https://github.com/repo1/repo1.git
Repo1Name
$ git config --get-urlmatch user.name https://github.com/repo2/repo2.git
Repo2Name

Далее радостно пишем скрипт, который по URL (например, origin записывает соответствующую пару name/email в локальнй конфиг (.git/config)

Либо по аналогии с https://stackoverflow.com/a/2141577/4065963 пишем post-checkout hook, в котором делаем тоже самое.

uglym8 ()
GIT-COMMIT-TREE(1)                Git Manual                GIT-COMMIT-TREE(1)

NAME
       git-commit-tree - Create a new commit object
............
While parent object ids are provided on the command line, author and
       committer information is taken from the following environment
       variables, if set:

           GIT_AUTHOR_NAME
           GIT_AUTHOR_EMAIL
           GIT_AUTHOR_DATE
           GIT_COMMITTER_NAME
           GIT_COMMITTER_EMAIL
           GIT_COMMITTER_DATE

       (nb "<", ">" and "\n"s are stripped)
imb ★★ ()
Ответ на: комментарий от SEInterix

Ну ты и слепой! git config (без --local) делает абсолютно то, что ты имеешь ввиду.

i_gnatenko_brain ★★★★ ()

Настроить локально для проекта.

andreyu ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.