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

Коммиты в Github

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

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

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

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

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

  1. git branch name-of-fix-branch
  2. git checkout name-of-fix-branch
  3. git add
  4. git commit
  5. git add
  6. git commit
  7. git checkout master
  8. git pull –rebase
  9. git checkout name-of-fix-branch
  10. git rebase master
  11. git checkout master
  12. git merge name-of-fix-branch
  13. git push origin master

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

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

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

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

Tweet at @rubinius on Twitter or email community@rubinius.com. Please report Rubinius issues to our issue tracker.