This is an old revision of the document!
При недостаточном опыте работы с git рекомендуется прочитать http://webhamster.ru/mytetrashare/index/mtb0/1339097829drylrc41mt
Установка git
- ставится сам клиент git
- опционально ставится визуальный клиент (для windows рекомендуется TortoiseGit, для опытных пользователей можно работать непосредственно с оболочкой командной строки).
Генерация ключей
Ключи rsa генерятся через утилиту ssh-keygen
ssh-keygen -t dsa -b 1024
Публичный ключ заливается там где нужен доступ - на сервера, репозитории git и тп TortoiseGit работает через ключи Putty (.ppk формат), поэтому сгенеренный ключ надо пропустить через утилиту Puttygen
SQL файлы
SQL файлы для проекта хранятся следующим образом
- полный дамп проекта в папке SQL. (в случае если объем данных излишне велик имеет смысл хранить только схему, без данных)
- храним историю апдейтов как набор sql запросов формате updates.sql
именование коммитов
каждый коммит маркируется следующим образом
[идентификатор таска в системе контроля - если назначен/требуется] [проект (при необходимости)]
[служебные пояснения 1 - что входит в состав коммита]
[служебные пояснения 2 - что входит в состав коммита]
…
Примеры
grunt build update
setup imagemin, tinyimg sequence
[3.84] consumerawareness
oprah trial page - new layout for diane, eltrial, eltrialwith2, oprahtrial
grunt build change - deployment scripts
работа над задачей с применением веток
Целесообразно выделять отдельные задачи проекта в ветки, для предотвращения проблем со стабильностью проекта на master ветке при параллельной разработке. При этом в цикле разработке можно выделить следующие этапы
- программирование
- деплой на тестовую платформу
- проверка и тестирование тестовой платформы (затем правки при необходимости)
- деплой на лив платформу
- проверка и тестирование лив платформы (затем правки при необходимости)
Во время работки на ветке сам разработчик определяет возможность и необходимость “служебных” коммитов. Обязательное слияние с master веткой может проводиться 2 вариантами
- либо перед деплоем данных на лив платформу (в случае необходимости лив правок дополнительные коммиты делаются сразу в master ветке)
- либо после всего цикла разработки
В любом случае после достижения стабильного релиза текущая ветка помечается тегом релиза в соответствии с http://semver.org/lang/ru/ В случае если проект содержит составные части, следует использовать нумерацию релиза для конкретной составной части
Примеры
- 1.1.2
- 1.1.0-consumerawareness
