Rails и Git советы по рабочему процессу - PullRequest
1 голос
/ 11 июня 2010

Мне нужно несколько советов по желаемой настройке с помощью git и Rails.

В основном для моего первого приложения на Rails я использовал базовый шаблон приложения из GitHub, затем я внес массу изменений и теперь имею полное приложениекоторый полностью настроен.

Теперь я извлек все изменения, внесенные в файлы в базовом шаблоне приложения, и зафиксировал изменения в моем форке репозитория github.В идеале я хотел бы иметь базовый шаблон приложения в качестве ветки в моем приложении и перебазировать его своим мастером.Возможно ли это на самом деле?

Причина, по которой я хочу это сделать: я хочу поддерживать базовое приложение в актуальном и функциональном состоянии, поэтому для моего следующего проекта я могу просто клонировать шаблон базового приложения из моего github fork иначать работать.Аналогично, если кто-нибудь исправит какие-либо ошибки в базовом шаблоне приложения, я мог бы объединить эти исправления с любым приложением, у которого шаблон базового приложения есть как ветвь?

Возможно ли это?Есть ли лучший / более распространенный способ сделать это?

Заранее спасибо!

Спасибо,

Дэнни

1 Ответ

1 голос
/ 11 июня 2010

Это интересная идея, хотя я думаю, что может быть сложнее, чем вы думаете, перебазировать всю историю проекта поверх множества обновлений.

Вот как вы могли бы это сделать в псевдогите: -)

# First fork the app template on github
# Then clone it locally
git clone your_fork_of_app_template_url

# Setup a remote to the original repository (the one you forked from)
git remote add original_base original_app_template_url

# make a branch at the root so you have someplace to pull in new changes
git checkout -b app_template original_base/master

# go back to your master and write your app
git checkout master
git commit
git commit 
...

# Then later update your app template if it has changed
git checkout app_template
git pull original_base

# now Rebase your entire app on top of the updated template (not sure how to go about this with multiple branches like edge)
git checkout master
git rebase app_template

Это может сработать, если шаблон приложения был просто gem-файлом или набором плагинов. Но даже тогда вам, возможно, будет лучше просто объединить master и app_template, чтобы вам не пришлось переписывать всю историю приложения.

...