Настройка центрального Гит-репозитория

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

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

1. Заходим на сервер по SSH и определяемся с каталогом, где будут рабочие файлы. Например:

/home/myserver/www/work/myproj/wp-content/themes/mytheme

Если на сервере ещё не настроен Гит, запускаем следующие две команды:

git config --global user.name "Какое-нибудь имя сервера" git config --global user.email "эл.почта@сервера.su" Впрочем, вторая строка необязательна.

3. Голый репозиторий: создаём и заходим в каталог, где будет находиться голый репозиторий инициализируем там Гит:

mkdir /git/myproj.git cd /git/myproj.git git --bare init

4. Создаём крюк «post-update»:

cd hooks cp post-update.sample post-update vim post-update

5. Вписываем следующий код:

#!/bin/bash echo "* Вытягиваем изменения из голого репозитория в рабочий каталог *" cd /home/myserver/www/work/myproj/wp-content/themes/mytheme || exit unset GIT_DIR git pull hub master exec git-update-server-info

6. Рабочий каталог: заходим в каталог, где будут рабочие файлы

cd /home/myserver/www/work/myproj/wp-content/themes/mytheme

и копируем туда файлы проекта, если они где-то есть.

7. Инициализируем Гит:

git init git add . git commit -m "Начальное свершение"

8. Добавляем голый репозиторий под именем "hub" и вливаем в него файлы рабочего репозитория:

git remote add hub /git/myproj.git git push hub master

9. Создаём крюк «post-commit»:

cd .git/hooks cp post-update.sample post-commit vim post-commit

10. Вписываем следующий код:

#!/bin/bash echo "* Вливание изменений в голый репозиторий *" git push hub

11. Вписываем следующий код:

git clone myuser@myserver.com:/git/myproj.git

Примечание. Команда для работы с Гит по SSH с указанием порта:

git clone ssh://[email protected]:123/git/myproj.git

10 марта 2014 г.
г. Рига, ЛССР