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

Коммиты в 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@rubini.us. Please report Rubinius issues to our issue tracker.