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

来源:互联网 发布:vb modbus rtu 实例 编辑:程序博客网 时间:2024/06/09 16:59

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 git@github.com:dearjohn/demo.gitgit 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可以列出所有的分支。

 

 

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

 

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


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 华为手机获取安装包信息失败怎么办 液压电动脱模器不上升了怎么办 退伍军人证和身份证名字不付怎么办 车辆有违章需要短信提醒要怎么办 1969年退伍的退伍证丢了怎么办 江苏移动没实名认证停机了怎么办呀 亿达老年手机来电音量太大怎么办 挑三十六乘二的内螺纹丝瞳毛怎么办 内六角螺丝的冒滑了怎么办 孔里的内六角滑了怎么办 十字螺丝刀的头卡在螺母里怎么办 内六角扳手断在螺丝孔里怎么办 六棱螺丝刀折进螺丝里了怎么办 内6棱螺丝拧花了怎么办 只有pe模式可以用键盘鼠标怎么办 电脑重做了系统连不上无线网怎么办 联想手机死机了怎么办不可拆卸电池 手机界面弹出后大小无法调整怎么办 方向盘打方向瑟瑟的吱吱响怎么办 三脚架提升杆螺丝滑丝了怎么办 花土里面有很多细长的螺丝怎么办 防盗门外边上边缝宽螺丝松了怎么办 填充墙与框架梁不对齐怎么办 亚轧滚珠丝杠螺帽超程了怎么办 在公司交的五险一金辞职了怎么办 铝合金的渣子整到眼睛里怎么办 铁锅手柄上的铆钉拧不动怎么办 喂完鱼鱼缸上边飘着一层油膜怎么办 铸铁管道横着排的结口漏水怎么办 缤智行李架免打孔螺丝款怎么办 前保险杠和叶子板缝隙大怎么办 新奥拓的大灯调节螺丝滑丝了怎么办 小米手环2计步不准怎么办 小米手环3计步不准怎么办 眼镜用洗发水洗了后模糊怎么办 雷朋近视镜眼镜腿折了怎么办 近视镜眼镜腿断了该怎么办 老师把学生的眼镜打坏了怎么办 生死狙击忘了密保改不了密码怎么办 我叫mt狂猎之弓怎么办 你能利用你的弱点打击你怎么办