Данное руководство поможет вам настроить два гит-репозитория: так называмый, «голый» репозиторий, используемый для центрального хранения файлов проекта, и центральный «рабочий каталог», в котором будут также отражаться все изменения, вносимые в проект.
Итак, необходимо создать два репозитория: голый и рабочий.
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
git clone ssh://myuser@myserver.com:123/git/myproj.git
10 марта 2014 г.
г. Рига, ЛССР