Как правильно настроить работу удаленного Git репозитория?
Создаю проект на Symfony 2 на VPSе. Решил использовать для контроля версий Git. Установил Symfony на Debian. Установил Git. Создал репозиторий в папке проекта, добавил все файлы под контроль, закомитил.
Теперь мне нужно работать с проектом на локалке. Создал "голою" копию git папки в корене сервера. Вот и начинаю работать с ним через Windows Git, клонирую репозиторий через SSH, делаю изминения, добавляю под контроль изминение, делаю коммит, push. Все проходит без ошибок, но изминений на сервере нету. Вопрос, почему голая копия Gitа ничего не делает с рабочим проектом?
Ребята. Все проверил. Нужно правильно написать Hook ( перехватчик). Он не работае. Сейчас у меня он такого вида:
#!/bin/sh -e
refname="$1"
oldrev="$2"
newrev="$3"
gitdir=`pwd`
if [ "$refname" = «refs/heads/master» ]; then
tmpdir=`mktemp -d`
cd "$tmpdir"
git \
--git-dir="$gitdir" \
archive --format=tar "$newrev" | tar x
rsync -a --delete-after "$tmpdir/" /var/www/что-там-надо/
rm -rf "$tmpdir"
fi
Блин. Я какбэ разобрался со всем этим Gitом, но вот не могу написать хуки. Вот написал на своем серере - не работает. Сейчас попробую на этом Bitbucket сделать и мануалы почитаю
@Nc_Soft 5 штук для личных коммерческих проектов это хватает с головы.
Даже для начинающих фирм, этого хватает учитывая, что до 8 человек могут пользоваться приватной репой бесплатно.
Мы платим 11$ в месяц и это стоит тех денег, чем админ удаленный-распиздяй( извините за французский).
Использую phpStorm, и bitbucket для хранения кода в приватном репозитарии.
Работаю так:
Есть два FTP: боевой (VPS) и тестовый (VDS)
В phpStrom два проекта "Имя_проекта Dev" и "Имя_проекта Prod" у каждого настроен RemoteHost на соответствующий FTP. Для каждого проекта подключен удаленный git репозитария на bitbucket.
Вся разработка ведется на тестовом фтп, после чего делается Push в ветку dev удаленного репозитария.
После чего в Production проекте Pull в локальную dev ветку, заливка изменений на Production FTP (Ctrl+s в phpStrom), тестирование (ручное), merge её с master веткой и Push в удаленный репозиторий уже в master ветку.