Назад: Перевод документации Выше: Содержание Вперед: Приложение А, Глоссарий

Коммиты в Github

В Rubinius Project основная работа делается в master-ветке. Цель разработчиков — держать master чистым, чтобы в нем всегда можно было и собрать работающий бинарник, и получить копию свежих правок и улучшений.

Коммиттерам, имеющим доступ на запись в основной репозиторий проекта

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

После фиксации в рабочую ветвь локального репозитория коммиты следует объединить с локальным мастером и сделать пуш на Github. Во избежание излишних merge-сообщений мы просим коммиттеров сделать rebase мастера перед слиянием.

Примерный алгоритм:

  1. git branch name-of-fix-branch
  2. git checkout name-of-fix-branch
  3. <write the spec>
  4. <write code to pass the spec>
  5. git add <list of spec files>
  6. git commit
  7. git add <list of code files>
  8. git commit
  9. git checkout master
  10. git pull –rebase
  11. git checkout name-of-fix-branch
  12. git rebase master
  13. git checkout master
  14. git merge name-of-fix-branch
  15. git push origin master

Шаги с 9 по 15-й можно автоматизировать скриптом — чтобы сэкономить время на наборе.

Коммиттерам без доступа на запись в основной репозиторий

Пожалуйста, прочтите это:

Назад: Перевод документации Выше: Содержание Вперед: Приложение А, Глоссарий