User Tools

Site Tools


organization:git_usage

This is an old revision of the document!


При недостаточном опыте работы с git рекомендуется прочитать http://webhamster.ru/mytetrashare/index/mtb0/1339097829drylrc41mt

Установка git

  1. ставится сам клиент git
  2. опционально ставится визуальный клиент (для windows рекомендуется TortoiseGit, для опытных пользователей можно работать непосредственно с оболочкой командной строки).

Генерация ключей

Ключи rsa генерятся через утилиту ssh-keygen ssh-keygen -t dsa -b 1024

Публичный ключ заливается там где нужен доступ - на сервера, репозитории git и тп TortoiseGit работает через ключи Putty (.ppk формат), поэтому сгенеренный ключ надо пропустить через утилиту Puttygen

SQL файлы

SQL файлы для проекта хранятся следующим образом

  • полный дамп проекта в папке SQL. (в случае если объем данных излишне велик имеет смысл хранить только схему, без данных)
  • храним историю апдейтов как набор sql запросов формате updates.sql

именование коммитов

каждый коммит маркируется следующим образом [идентификатор таска в системе контроля - если назначен/требуется] [проект (при необходимости), имя задачи]
[служебные пояснения - что входит в состав коммита]

Пример

grunt build update
setup imagemin, tinyimg sequence

работа над задачей с применением веток

Целесообразно выделять отдельные задачи проекта в ветки, для предотвращения проблем со стабильностью проекта на master ветке при параллельной разработке. При этом в цикле разработке можно выделить следующие этапы

  1. программирование
  2. деплой на тестовую платформу
  3. проверка и тестирование тестовой платформы (затем правки при необходимости)
  4. деплой на лив платформу
  5. проверка и тестирование лив платформы (затем правки при необходимости)

Во время работки на ветке сам разработчик определяет возможность и необходимость “служебных” коммитов. Обязательное слияние с master веткой может проводиться 2 вариантами

  • либо перед деплоем данных на лив платформу (в случае необходимости лив правок дополнительные коммиты делаются сразу в master ветке)
  • либо после всего цикла разработки

В любом случае

В репозиторий просьба заливать только более-менее стабильные билды, например стабильный релиз за день, чтобы при развертывании все более менее работало. Изменения маркировать как x.y.z.

* x. Глобальный апдейт либо стркутурные изменения в проекте - замена движка к примеру  
* y. Мелкие изменения, добавление файла/модуля.  
* z. Багфикс, либо дополнение к прошлому изменению

Пример - commit & update с комментариями типа

  • Release 1.1.2 Correction of forget pass functionality
  • Release 0.2.0 Includes authentication changes with assistant permissions integration addon
organization/git_usage.1452589672.txt.gz · Last modified: (external edit)