【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

Rails 存储库从 SVN 转向 Git

  • 2008-04-03
  • 本文字数:1327 字

    阅读完需:约 4 分钟

在 Ruby on Rails 2.1 版本发布的前夕,Rails 开发团队也准备将代码的存储库从 Subversion 迁移到 Git 之上。在 Ruby on Rails 的官方博客里, DHH 写到

我们准备将 Rails 开发的代码存储库从 Subversion 迁移到 Git 之上,迁移过程将会在近期内完成。并且会使用 Github 来帮助开发者进行协作。在版本存储库迁移的同时,我们也会将问题跟踪系统转移到基于 Rails 开发的 Lighthouse 应用之上,于是到目前为止,我们的存储库和问题跟踪系统都是使用的 Rails 应用,这对我们是一个很好的鼓励。

在代码存储库迁移之后,我们将冻结现有 Subversion 的存储库以及 Trac 问题跟踪系统。这两个系统都会保留较长一段时 间,但是我们并不建议使用者再去访问它们。这意味着我们的 Subversion 存储库依然可以访问,但是如果你想获得最新的代码,需要在新的 Git 存储库 上更新。

为了帮助使用者更快的适应存储库系统的迁移,DHH 同时也推荐了 SVN 使用者的 Git 快速上手教程。在对 DHH 声明的评论中,大部分开发者对此表示了赞赏与支持。其中,Scott Chacon 为其他开发者推荐了为计算机科学家准备的Git 介绍一文,文中讲解了当Git 命令执行时,Git 是究竟如何帮助我们处理工作的。Scott 认为,了解Git 是如何工作的,对于正确的使用Git 有着积极的意义。

Git 是 Linus Torvalds 为 Linux 内核开发而专门打造的版本控制软件,更加关注在管理大型项目时,代码版本的更新速度、效率以及可用性方面的提升,并为非线性 的协作开发提供良好的支持。Git 帮助开发者保留历史版本在本地的全部记录,同时大型项目管理方面,效率比一般的版本控制工具都要高。在 Linux 内核开 发的版本控制中,Git 发挥了积极的作用,Linus 对其的评价是“傻瓜式的内容跟踪工具”。

Git 基于 GNU General Public License v2 协议开放源代码。目前已从 Linus Torvalds 移交给 Junio C Hamano 维护。Git 目前最新的版本是 1.5.4.5,这个版本在之前的版本基础上修改了十多处 Bug,并且对于部分文档进行了更新。

目前,Git 也获得越来越多国内开发者的认可,并在项目开发中尝试使用 Git 来进行源代码的版本控制管理工作。对于使用 Git 所带来的好处,国内的开发者 Robin Lu 在 Blog 中这样评价道

初始化非常方便…对于随便写两行代码就要放到 SCM 里的人来说,再合适不过。将 Git 用作备份系统,或 者同步两台机器文档来使用,都很方便。Git 的绝大部分操作都在本地完成,不用和集中的 SCM 服务器交互,使用者可以放心的随时随地提交代码。在 Git 中,分支管理更为容易,无论是建立新的分支,还是在分支之间切换,仅有一条命令就可以完成,不需要建立多余的目录。除此之外,分支之间合并时,不仅代码会 合并在一起,Check In 的历史也会保留下来。

目前,包括 Rails 在内,已经有不少知名项目已经迁移到 Git 之上来进行源代码版本管理,比如 Rubinius Merb 、Wine、 U-boot、Beryl 等项目。尽管 Git 的命令繁多,但不少开发者为 Git 编写了小的脚本与批处理程序,进一步让 Git 命令的使用变得更加方便快捷, 并且对开发者更为友好。同时,基于 Rails 开发的 Git 存储库托管工具 GitHub,也为开发者带来了更为方便的协作模式,关于 GitHub 的细节报 道,请阅读 InfoQ 中文站 GitHub:基于 Rails 的 Git 库托管一文。

2008-04-03 00:161548
用户头像

发布了 74 篇内容, 共 11.6 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

存储系统如何适配 Hadoop?

焱融科技

hadoop 存储 文件存储

龙蜥社区第八次运营委员会会议顺利召开

OpenAnolis小助手

开源 生态 龙蜥社区 理事单位 运营委员会

从“预见”到“遇见” | SAE 引领应用步入 Serverless 全托管新时代

阿里巴巴云原生

阿里云 Serverless 云原生 SAE

云原生技术应用情况报告重磅发布

行云创新

云计算 云原生 开发 报告 行业

王莉:将开发文档英文化和本地化,我们努力让OpenHarmony走向全球

OpenHarmony开发者

开发文档 OpenHarmony OpenHarmony 3.1 Release

JVM进阶(十八)——初识Class文件

No Silver Bullet

JVM class文件 5月月更

Wallys/ Network_Card/2x 2 5G /High power Radio card

wallys-wifi6

QCA9882 802.11AX

关于延期举办第六届世界智能大会的通知

InfoQ 天津

百问百答第39期:如何区分docker容器中的进程名称?

博睿数据

智能运维 Bonree Server 博睿数据

敏捷实践 | 做优先级排序时使用最多的三个模型

LigaAI

敏捷开发 优先级

国产CPU产业链的逻辑架构

Finovy Cloud

gpu 云服务器

推荐书籍-《持续行动-从想到到做到》

消失的子弹

书籍推荐

集成底座内外网访问配置说明

agileai

k8s 集成底座 企业服务总线 身份管理平台 主数据平台

java开发培训任务调度框架Quartz的用法

@零度

JAVA开发

大咖说*菜鸟|物流行业重大战略机遇期已悄然到来

大咖说

互联网 物流 降本增效 菜鸟 实体经济

Wallys/Network_Card/QCA9880/ 2x2 2.4G/5G FCC/CE

wallys-wifi6

802.11AX QCN9880

烫烫屯屯锟斤拷��

博文视点Broadview

大数据培训数仓指标体系搭建

@零度

大数据开发

数字化时代,企业知识管理软件怎么选

小炮

企业知识管理

记一个 Harvester SNAT 案例

Rancher

Kubernetes k8s rancher Harvester

IOS技术分享| iOS快速生成开发文档(一)

anyRTC开发者

ios objective-c 音视频 移动开发 appledoc

签约喜报 | 美秧集签约旺链科技,一物一码防伪溯源驱动品牌新增长

旺链科技

区块链 产业区块链 大米溯源

【直播预告】如何写好技术文章?开源技术写作入门与实践

TiDB 社区干货传送门

Python:什么是callable?

Ken

Python Callable

leetcode 75. Sort Colors 颜色分类

okokabcd

LeetCode 排序

阿里云首家通过《可信云·云成本优化工具能力要求》评估,云原生企业 IT 成本治理方案助力企业 FinOps 落地

阿里巴巴云原生

阿里云 云原生 工具

玩转集群配置中心,一文带你了解 Taier 控制台

袋鼠云数栈

web前端培训js 私有属性的 6 种实现方式

@零度

web前端开发

HttpRunner v4.0 正式发布:一文了解 v4.0 的前世、今生与未来

debugtalk

性能测试 HTTP 接口测试 测试工具 开源软件

AI简报-视频超分BasicVSR

AIWeker

人工智能 深度学习 视频超分 5月月更 AI简报

盘点使用最广泛的14个最佳Scrum工具(功能与报价)

PingCode

Rails存储库从SVN转向Git_Ruby_高昂_InfoQ精选文章