2010-05-22 3 views
0

Я настраиваю хранилище Git. Я знаю, что вы можете добавлять репозитории с помощью git config --global, но есть ли способ, которым эти известные репозитории клонируются пользователями?Git: могу ли я хранить известные репозитории вдоль репозитория?

Целью было бы то, что после того, как репо будет клонировано пользователем, они могут нажать на другие репозитории только по их псевдонимам.

Например, я добавляю git: //X/mobility.git как X к репо (каким-то образом), пользователь клонирует его из git: // Y, но затем может делать git push X, не делая ранее git config.

Как это сделать?

ответ

1

Янтарь справа. Конфигурация удаленных записей не клонируется вместе с остальной частью репозитория (а также никакими другими данными конфигурации конкретного репозитория).

Возможно, вы захотите включить (в отслеживаемом содержимом репозитория) скрипт для настройки пультов. Конечные пользователи могут запускать этот скрипт для создания пультов. Сценарий не может, однако, запускаться автоматически, поскольку он будет представлять проблемы безопасности (клонирование хранилища должно быть безопасным, это не будет безопасная операция, если Git автоматически запускает скрипт/бинарный файл, который он только что загрузил).

Кстати, это может быть проще, используя мерзавца дистанционного управлять пультами вместо мерзавца конфигурации.

add_or_update() { 
    if git config remote."$1".url >/dev/null 2>&1; then 
     git remote set-url "$1" "$2" 
    else 
     git remote add "$1" "$2" 
    fi 
} 
add_or_update foo [email protected]:foo.git 
add_or_update add bar git://other.example.com/dev/bar.git 

Если вы используете нестандартные выборки refspec, вам, возможно, придется использовать GIT конфигурации, так мерзавца дистанционного нет (пока) поддержка управления refspec (-ы), пульта дистанционного управления.

2

Я не верю, что Git поддерживает это. Алиасы репозитория индивидуальны для локальной машины, а не являются частью процесса клонирования.

Смежные вопросы