GIT: Есть ли способ зафиксировать несколько репо? - PullRequest
11 голосов
/ 20 октября 2011

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

Есть ли команда, которая будет искать каждый git-репозиторий в папке и отправлять следующие команды ..

git add -u 
git add .
git commit -m 'Latest'

Так что я мог бы просто перейти в какую-то папку и запустить командуобновляет их все?

Это не вопрос субмодулей

Ответы [ 3 ]

8 голосов
/ 21 октября 2011

почему бы вам не использовать что-то вроде этого:

#!/bin/bash
for DIR in `ls`;
do
    if [ -d $DIR/.git ];
    then
            echo "updating location: " $DIR;
            cd $DIR
            # your commands here...
            git add -u 
            git add .
            git commit -m 'Latest'

            cd ..
    fi
done
2 голосов
/ 01 марта 2012

Disclamer: это собственный код. У меня нет финансовой выгоды, если вы используете или разворачиваете ее, но она была написана именно для такого сценария, и, возможно, это поможет. ;)

Я написал gitglue. Вы можете пометить репозитории и выполнить произвольные команды на основе тегов. Проверьте этот урок о gitglue или fork gitglue на Github.

2 голосов
/ 21 октября 2011

Возможно, вы ищете что-то вроде mr ( домашняя страница ).Я использую его для одновременного обновления нескольких репозиториев, но он может быть настроен на любые вещи, которые вы захотите.Он также доступен в виде пакетов Ubuntu и Debian в официальных репозиториях.В противном случае вы можете просто написать скрипт, который сделает все за вас.

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