Содержание

office git server

Далее по тексту для краткости: «Сервер» означает наш офисный выделенный гит-сервер, «BB» - BitBucket

На сервер склонированы все репозитории, находящиеся на BB. Каждый день в 12:00 выполняется обновление с BB на Сервер, т.е. все коммиты, сделанные на BB прилетят на Сервер.

Ситуация 1 - BB основной, Сервер резервный

Требуется: работать с BB как с основным, а Сервер просто хранитель репозиториев на случай блокировки BB, и умирания одним разом всех компов с рабочими копиями.

Что делать: ничего.

Ситуация 2 - Сервер основной, BB резервный

Требуется: работать с Сервером как с основным, а BB на всякий случай, либо для тех, кто еще не примкнул Серверу.

Что делать:

Клонируем проект

git clone ssh://git@109.195.39.165:40000/repo/git-awclient.git

Если без BB, то всё. Иначе идем дальше.

Добавляем remote для BB

Открыть в редакторе: git-awclient/.git/config

Добавить текст:

[remote "bb"]
  url = git@bitbucket.org:promauto/git-awclient.git
  fetch = +refs/heads/*:refs/remotes/origin/*

Как делать push

Отправить на Сервер:

git push

Отправить на BB:

git push bb

Настройки сервера

Команда клонирования с BB:

git clone --mirror git@bitbucket.org:promauto/git-awclient.git

Команда обновления с BB:

for dir in *.git; do (cd "$dir" && echo "$dir" && git remote update); done