美文网首页
从SVN迁移至Git

从SVN迁移至Git

作者: wu_sphinx | 来源:发表于2015-06-14 23:16 被阅读282次

公司的版本控制从svn迁移至git也有差不多快一个月了,每每在代码合并 这个问题上,屡屡会出出问题,总结起来,自己在开发的时候,还是svn时代的那套思想,集中式版本控制,在分布式的路上还属步履蹒跚。
根据阮一峰的日志--Git分支管理策略,作了一些总结。
目前对Git版本控制的使用, 并不是特别合理与顺利,都是在熟悉中,最重要的还是接受分支开发这种理念,特别感谢伟大的林纳斯·托瓦兹
一、主分支Master
首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。Git主分支的名字,默认叫做Master。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。

master
对于我们现在的开发流程来说,这就是线上版本,线上版本应该是bug最少化,代码精简化。但就目前的开发流程而言,hotfix一天上好几次,主版本一天也要更新好几次,并不是很稳定,不过这似乎是互联网公司的通病。
二、开发分支Develop
主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做Develop。 develop

这个版本其实有许多脏代码,各种功能的试用,代码的测试,都可以在这个版本上进行。
就在Master分支上,对Develop分支进行"合并"(merge)。
创建Develp的命令为:
git checkout -b develop master
# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop

功能在Develop上开发,有需要合并到Mater,对于周期性的迭代功能,先拉个develop_v1,对于合作开发人员,每个人以develop_v1为基础开自己的分支,开发自测好再合并一处由测试人员完成测试。
这里稍微解释一下,上一条命令的--no-ff参数是什么意思。默认情况下,Git执行"快进式合并"(fast-farward merge),会直接将Master分支指向Develop分支。

快进式合并

使用--no-ff参数后,会执行正常合并,在Master分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。

保证版本演进的清晰

三、修补bug分支hotfix
最后一种是修补bug分支。软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。
修补bug分支是从Master分支上面分出来的。修补结束以后,再合并进Master和Develop分支。它的命名,可以采用hotfix-日期的形式。目前每天要上正式的代码都是有的hotfix,大部分是bug修复,小部分是功能更新,这么也还算合理。

ps:(pycharm的代码管理真的很好用哦-)

相关文章

  • 从SVN迁移至Git

    公司的版本控制从svn迁移至git也有差不多快一个月了,每每在代码合并 这个问题上,屡屡会出出问题,总结起来,自己...

  • svn迁移至git

    command users.txt 查看用户 http://pm.readthedocs.org/zh_CN/la...

  • svn迁移git之殇

    团队从svn迁移至git已经一个月有余了,但是不幸的是,团队在使用git的过程中,步调并不统一,大家对git的理解...

  • SVN迁移至GIT记录.md

    最近公司开始转向git,要求所有svn库迁移至Gitlab,除了SVN,公司在用的还有TFS也要求迁移,算是彻底转...

  • iOS项目从SVN迁移至Git步骤

    因公司改用git服务器进行代码版本控制,所以原本在SVN服务器上的iOS项目需要迁移至git服务器。conners...

  • SVN 项目迁移到GIT

    为了统一、规范开发流程,以及CICD的推进,将SVN整体迁移至git环境,需要将历史记录同步到git 本文参考了以...

  • sourceTree管理svn工程

    git从svn仓库clone工程 sourceTree管理svn工程

  • SVN项目迁移至Git,保留SVN提交记录

    1. 先在Git服务端创建一个空白版本库,得到Git地址。 2. 新建SVN中的账号和Git中的账号对应关系use...

  • git学习笔记——本地

    小追兵专栏 一、简介 svn的时代慢慢的走到向尾声,git正在慢慢取代svn。 我也从svn换成Git作为版本控制...

  • git文件忽略

    附录:git文件忽略操作参考git官方各大IDE、框架忽略集合 1、从svn转到git,有将项目中的svn文件删除...

网友评论

      本文标题:从SVN迁移至Git

      本文链接:https://www.haomeiwen.com/subject/netsqttx.html