Я хочу попробовать ответ, который включает в себя git-flow и три «точки» или сценарии использования, центральный репозиторий git, локальную разработку и рабочую машину. Это не очень хорошо проверено .
Я даю невероятно конкретные команды. Вместо того чтобы говорить<your folder>
, я скажу /root/git
. Единственное место, где я меняю исходную команду - это замена моего конкретного имени сервера на example.com
. Я объясню назначение папок, чтобы вы могли настроить его соответствующим образом. Пожалуйста, дайте мне знать о любой путанице, и я обновлю ответ.
Версия git на сервере 1.7.1. Сервер CentOS 6.3 (Final).
Версия git на компьютере разработчика - 1.8.1.1. Это Mac OS X 10.8.4.
Центральный репозиторий и производственная машина находятся на одной машине.
Центральный репозиторий, который пользователи svn могут относить как «сервер», настроен следующим образом. У меня есть папка, в /root/git
которой я храню все свои репозитории git. Я хочу создать git-репозиторий для проекта, который я называю 'flowers'.
cd /root/git
git clone --bare flowers flowers.git
Команда git выдала два сообщения:
Initialized empty Git repository in /root/git/flowers.git/
warning: You appear to have cloned an empty repository.
Не о чем беспокоиться.
На разработке машина настроена следующим образом. У меня есть папка, в которую /home/kinjal/Sites
я положил все свои проекты. Теперь я хочу получить центральное хранилище git.
cd /home/kinjal/Sites
git clone root@example.net:/root/git/flowers.git
Это подводит меня к точке, где я могу начать добавлять вещи к нему. Я сначала настроил git flow
git flow init -d
По умолчанию это на ветке develop
. Я добавляю свой код здесь, сейчас. Затем мне нужно зафиксировать в центральном репозитории git.
git add .
git commit -am 'initial'
git push
На данный момент это подтолкнуло к разработке ветвь. Я хочу также добавить это в основную ветку.
git flow release start v0.0.0 develop
git flow release finish v0.0.0
git push
Обратите внимание, что я ничего не делал между началом и окончанием выпуска. И когда я закончил выпуск, мне предложили отредактировать два файла. Это подтолкнуло развивающуюся ветку к освоению.
На производственном сайте, который находится на той же машине, что и мой центральный git-репозиторий, я хочу поместить репозиторий в /var/www/vhosts/example.net
. У меня уже есть /var/www/vhosts
.
cd /var/www/vhosts
git clone file:///root/git/flowers.git example.net
Если производственный компьютер также будет находиться на другом компьютере, git clone
команда будет выглядеть так же, как и на компьютере разработчика.
git clone --bare
будет делать то, что вы думаете, он будет делать.