Rails项目中,利用Git做版本控制及分支管理实践总结

Git is awesome!!

在拜读了几篇Git的文章,并且亲身实践之后,由衷的感觉!

下面,就来说一说,我自己在整个项目中使用Git的一些方法及体会:(这里假设你已经安装好了git,并且github也搞定了,如果没有可以参考我之前的文章)

0.在正式开始之前,请先阅读我上一篇文章关于版本控制以及分支管理的介绍,或者这里也有一篇类似的文章http://blog.jobbole.com/23398/?utm_source=rss&utm_medium=rss&utm_campaign=%25e9%2598%25ae%25e4%25b8%2580%25e5%25b3%25b0%25ef%25bc%259agit%25e5%2588%2586%25e6%2594%25af%25e7%25ae%25a1%25e7%2590%2586%25e7%25ad%2596%25e7%2595%25a5

1.新建Rails项目

运行:rails new demo

2.初始化Git

运行:git init

3.将初始化项目加入缓存库

运行:git add .

可以通过运行git status查看缓存库的内容

4.提交初始化代码

运行:git commit -m "Initial demo"(默认分支是master)

可以通过gitk这个图形化界面看到,目前只有一个分支master,提交了一次。

5.在github上新建demo这个项目。之后,运行:

git remote add origin [email protected]:dearjohn/demo.git
git push -u origin master

可以将本地项目的master版本提交到github。(我们默认只将最终版本提交到github,develop版本发给你在本地)

接下来我们采用,前面文章里所说的分支控制方法。项目保持两个同步的分支master与develop。其他分支的使用,前面文章有介绍

5.新建一个develop分支

运行:git checkout -b develop master

这表明,我们在master下面建立了一个develop的子分支。

6.我们在develop分支下面coding,写完某个功能之后,想要发布:

git add .

git commit -m "xxxxx"

这样就发布在了develop分支上。

7.假如我们想提交到master分支

git checkout master

git merge --no-ff develop

这里,默认是fast farward,但是为了能够留下修改的痕迹,我们不使用ff)

8.特性分支

创建一个特性分支

开始开发新特性的时候,从develop分支创建特性分支。

$ git checkout -b myfeature develop
Switch to a new branch “myfeature”

合并完成的特性回develop

完成的特性应该被合并回develop分支以将特性加入到下一个发布版本中:

git checkout develop
Switch to branch ‘develop’
$ git merge –no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop

上述代码中的–no-ff标记会使合并永远创建

git branch可以列出所有的分支。

这样,就存在两个看起来并行的分支了。。

这是最简单的分支管理与控制,如果项目稍微大一点,两个分支就不够了,可能会用到更多的分支管理,以后再续。


猜你喜欢

转载自dearjohn.iteye.com/blog/1626613