开始用 rails edge & git
通过 git 在本地创建一个 rails edge:
git clone github.com/rails/rails.git
以后用 rails edge 创建 rails 项目的时候需要先更新一下 edge,然后用 edge 里面的 rails 脚本来创建项目:
cd ~/rails
git pull
ruby ~/rails/railties/bin/rails myapp
然后在项目中初始化一下 git repository:
git init
此时用 git status 查看可以看到项目中的所有目录都是 untacked,先创建一个 .gitignore,设置一下 git 的文件忽略规则:
log/*.log
tmp/**/*
doc/api
doc/plugin
doc/app
vendor/rails
config/database.yml
由于 git 不会管理空目录,所以如果我们想添加一个空的 log/ 和 tmp/ 到 git repository 中的话可以在两个目录里面分别创建一个 .gitignore:
touch tmp/.gitignore
touch log/.gitignore
然后添加所有 untracked file 并 commit 所有的东西:
git add .
git commit -m ‘init rails project’
再用 git status 看看,nothing to commit (working directory clean)
最后添加一下远程 repository 的地址再将所有刚才 commit 的东西 push 到远端:
git remote add origin your_repository_path
git push origin master
这时就完成所有的提交工作了。
以后写代码的时候,先创建自己的一个 branch,尽量不要在 master branch 上直接修改:
git branch -b my_branch
修改完成准备提交的时候,回到 master branch 上和自己刚才工作的 branch 进行 merge,然后再提交:
git checkout master
git merge my_branch
因为要用 rails edge,所以肯定要在 vendor/ 中 freeze rails edge,一个可以用 rake rails:freeze:edge,这样是下载 rubyonrails.org 上面的一个 edge.zip;另一种方法可以使用从 rails edge 的 git repository 上 clone 一个:
git submodule add github.com/rails/rails.git vendor/rails
git submodule init
git submodule update
好了现在基本可以干活了。
参考文章:
http://www.robinlu.com/blog/archives/194
http://toolmantim.com/article/2007/12/5/setting_up_a_new_rails_app_with_git
http://www.caiwangqin.com/post/527