2008-10-02 3 views
41

В основном я хотел сделать что-то вроде git push mybranch to repo1, repo2, repo3Могу ли я нажать на несколько репозиториев в одной команде в git?

прямо сейчас я просто набрав Вдавите много раз, и если я в спешке к толкающей сделал, я просто отправить их всех на фоне git push repo1 & git push repo2 &

Мне просто интересно, поддерживает ли git то, что я хочу сделать, или, может быть, там есть умный сценарий или, возможно, способ редактировать локальный конфигурационный файл репо, чтобы сказать, что ветвь должна быть нажата на несколько пультов.

ответ

79

Вы можете иметь несколько URL-адресов за пульт дистанционного управления в мерзавец, даже если команда git remote не появлялась, чтобы выставить эту последний я проверил. В .git/config, что-то вроде этого:

[remote "public"] 
    url = [email protected]:kch/inheritable_templates.git 
    url = [email protected]:projects/inheritable_templates.git 

Теперь вы можете сказать «git push public», чтобы подтолкнуть к обеим сделкам РЕПО сразу.

10

У меня есть единственный открытый репозиторий, который живет в моем домашнем каталоге, на который я нажимаю. Крюк после обновления в этом репозитории затем толкает или rsyncs в несколько других видимых на публике мест.

Вот мои Крючки/после обновления:

#!/bin/sh 
# 
# An example hook script to prepare a packed repository for use over 
# dumb transports. 
# 
# To enable this hook, make this file executable by "chmod +x post-update". 

# Update static info that will be used by git clients accessing 
# the git directory over HTTP rather than the git protocol. 
git-update-server-info 

# Copy git repository files to my web server for HTTP serving. 
rsync -av --delete -e ssh /home/afranco/repositories/public/ [email protected]:/srv/www/htdocs/git/ 

# Upload to github 
git-push --mirror github 
+0

это хорошо. поделитесь или объясните git-update-server-info? – kch 2008-10-03 00:00:57

+0

Как я добавил в ответ: git-update-server-info записывает некоторые статические информационные файлы, которые будут использоваться git-клиентами, обращающимися к каталогу git через HTTP, а не к git-протоколу. Для получения дополнительной информации см. Следующее: http://www.kernel.org/pub/software/scm/git/docs/git-update-server-info.html – 2008-10-03 22:03:15

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