В Rubinius Project основная работа делается в master-ветке. Цель разработчиков — держать master чистым, чтобы в нем всегда можно было и собрать работающий бинарник, и получить копию свежих правок и улучшений.
Мы рекомендуем коммиттерам, имеющим доступ на запись в основной репозиторий, выполнять работы в ветви локального репозитория. По достижении стабильности правки должны коммититься в два этапа. В первую очередь следует закоммитить спек, описывающий поведение проблемного участка, а уже следующим коммитом — реализацию этого поведения, при которой спек проходит.
После фиксации в рабочую ветвь локального репозитория коммиты следует объединить с локальным мастером и сделать пуш на Github. Во избежание излишних merge-сообщений мы просим коммиттеров сделать rebase мастера перед слиянием.
Примерный алгоритм:
Шаги с 9 по 15-й можно автоматизировать скриптом — чтобы сэкономить время на наборе.
Пожалуйста, прочтите это: