Как использовать ветви git с rails

#ruby-on-rails #git

#ruby-на-рельсах #git #ruby-on-rails

Вопрос:

Я немного смущен тем, как я мог бы использовать ветви git с rails. Когда я запускаю новое приложение rails, я начинаю с моделей. Я создаю новую ветку

 git checkout -b modeling
  

Затем скажите, что я хочу создать почтовую модель, я делаю

 git checkout -b modeling-post
  

Когда я заканчиваю с Post, я выполняю git merge с моделированием, а затем я делаю

 git checkout -b modeling-comment
  

для модели комментариев и так далее.

Это правильный путь? Могу ли я сделать это лучше?

Ответ №1:

Не существует такого понятия, как правильный путь. Как можно было бы сказать, TIMTOWTDI: существует более одного способа сделать это. Ваша модель ветвления в git должна соответствовать вашему способу работы над вашим кодом и позволять вам чувствовать себя комфортно при этом.

Как правило, неплохо иметь основную ветку «release», которая будет принимать весь «протестированный и одобренный» код и отключать его при запуске новой функции. Когда именно разветвляться или объединяться, зависит от вас и / или рабочего процесса и привычек вашей команды.

Лично я всегда разветвляюсь по функциональности / функционалу, поэтому мой проект находится в заданном состоянии, и люди спрашивают, добавляю ли я функцию X, затем я git branch feature-X . Как только кодирование будет завершено, я бы объединил его в своей integ ветке, чтобы протестировать с использованием новейших материалов, над которыми мои коллеги работали бы в то же время. Если он пройдет все тесты, то в конечном итоге он будет объединен в master и отправится на сборку и развертывание. Но опять же, это зависит от ваших рабочих привычек.

Ответ №2:

Я согласен с Романом, нет единственно правильного способа, но, похоже, вы все чрезмерно усложняете…

Я бы посоветовал попробовать любую другую, более простую модель ветвления. Для меня ветка Ромена выглядит нормально. Вы также можете захотеть взглянуть на этот популярный подход:http://nvie.com/posts/a-successful-git-branching-model / или, если вам нужен анализ аргументов «за» и «против» для различных стратегий ветвления, вы можете найти много полезных ссылок здесь.

Но если вы единственный разработчик, работающий над проектом, и ваш проект находится в начале своего жизненного цикла, то, я бы сказал, вам, вероятно, вообще не нужны ветки.

Комментарии:

1. Спасибо за ваш ответ. Я единственный разработчик в проекте, теперь я вижу, что это было слишком сложно.

2. Я считаю, что вы все равно получите преимущества от ветвления, даже если проект находится в самом начале своего жизненного цикла. Это освобождает вас, так что вы можете работать над несколькими отдельными функциями без необходимости тщательного add редактирования ваших коммитов.

3. Лично, если я единственный, кто работает над проектом, и нет отзывов от пользователей / срочных ошибок, я предпочитаю последовательный процесс — функция за функцией, фиксация за фиксацией.

Ответ №3:

Забудьте о ветвях, которые вы делаете.

Ветви предназначены для разделения функциональности и новых функций, которые в rails часто задействуют весь стек.

Они также широко используются в многопользовательских ситуациях, но вы этого не описали.