1

我需要一些关于我想要的 git 和 Rails 设置的建议。

基本上,对于我的第一个 Rails 应用程序,我使用了来自 GitHub 的基本应用程序模板,然后我进行了大量更改,现在有了一个相当定制的完整应用程序。

我现在已经提取了我对基本应用程序模板中的文件所做的所有更改,并将这些更改提交到我的 github repo 分支。理想情况下,我希望将基本应用程序模板作为我的应用程序中的一个分支,并使用我的主应用程序重新设置它。这真的可能吗?

我想这样做的原因是:我想让基础应用程序保持最新和功能,所以对于我的下一个项目,我可以从我的 github fork 克隆基础应用程序模板并开始工作。同样,如果有人修复了基本应用程序模板中的任何错误,我可以将这些修复程序与我将基本应用程序模板作为分支的任何应用程序合并?

这可能吗?有没有更好/更常见的方法来做到这一点?

提前致谢!

谢谢,

丹尼

4

1 回答 1

1

这是一个有趣的想法,尽管我认为在一堆更新之上重新构建整个项目历史可能比您意识到的要难。

在伪 git 中,您可以这样做:-)

# 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 文件或插件集合,这可能会奏效。但即便如此,您最好还是合并masterapp_template这样您就不必重写整个应用程序历史记录。

于 2010-06-10T21:19:50.197 回答