开始用 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

Tags: ,

Leave a Reply