-
Общая схема работы.
http://nvie.com/posts/a-successful-git-branching-model
-
Репозитории.
git clone git@github.com:KosyanMedia/nano.git
-
Разделяйте полученную задачу на простые подзадачи. Не пытайтесь решать задачу разом. Каждую получившуюся подзадачу завершайте коммитом.
-
Тестируйте свои изменения перед отправкой в общий репозитории. Ваши изменения должны быть полностью покрыты тестами.
-
Создавайте новые ветки в общем репозитории, только в этих случаях:
-
Если над задачей работают более одного человека.
-
Если есть необходимость показать ваши изменения перед объединением с веткой ‘development’.
-
-
Не создавайте новые ветки, если задача тривиальная и затрагивает только одну, две строки. В данном случае работайте в ветке ‘development’.
-
Выбираем ‘development’ ветку репозитория.
git checkout development
-
Создаём рабочую ветку для нашей ‘feature’.
git checkout -b 'feature_name'
-
Работаем над ‘feature’, не забывая про правила стиля кодирования и правила работы с задачей.
do some magic
-
Тестируем все наши изменения.
rake spec
-
Возвращаемся в ветку ‘development’.
git checkout development
-
Проверяем ветку на новые изменения, пока мы работали с ‘feature’.
git pull origin development
-
Объединяем ветки ‘development’ и ветку ‘feature_name’.
git merge 'feature_name'
-
Отправляем изменения на сервер.
git push origin development
-
Создаём временную ветку “dev_’feature_name’”.
git checkout -b dev_'feature_name'
-
Объединяем изменения в ветке “dev_’feature_name’” c веткой ‘feature_name’. Решаем все конфликты.
git merge 'feature_name'
-
Тестируем наше объединение.
rake spec
-
Возвращаемся в ветку ‘development’
git checkout development
-
Объединяем ветку ‘development’ и ветку “dev_’feature_name’”
git merge dev_'feature_name'
-
Отправляем изменения на сервер и заменяем векту ‘feature_name’ на “dev_’feature_name’”.
git push origin development git checkout dev_'feature_name' git branch -d 'feature_name' git branch -m 'feature_name'