好脑筋不如烂笔头 2012-08-09
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 developSwitch to a new branch “myfeature”
完成的特性应该被合并回develop分支以将特性加入到下一个发布版本中:
$ git checkout develop
Switchtobranch‘develop’
$gitmerge–no-ffmyfeature
Updatingea1b82a..05e9557
(Summaryofchanges)
$gitbranch-dmyfeature
Deletedbranchmyfeature(was05e9557).
$ git push origin develop
上述代码中的–no-ff标记会使合并永远创建
git branch可以列出所有的分支。
这样,就存在两个看起来并行的分支了。。
这是最简单的分支管理与控制,如果项目稍微大一点,两个分支就不够了,可能会用到更多的分支管理,以后再续。