- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Git 进行版本控制
用 Git 进行版本控制
李博杰 20120520
bojieli@
版本控制的史前时代
● 用存储介质拷贝代码
– 代码相互覆盖,不知道哪个版本是正确的
– 搞错了无法恢复,需要定期手工备份
● diff patch
– 1991~2002 ,Linux 内核
– 能看到文件之间的差异,知道哪里修改了
– 更改历史需要手工维护
– GNU diff 不支持二进制文件
版本控制的诞生
● 将 diff 和 patch 的过程自动化
– 单一文件版本管理工具 RCS
– 只保留一个版本的完全拷贝,其他历次更改仅保
留差异: V3=V1+△1+△2
● CVS :脚本实现的RCS 文件容器 (1985, 1986 publish,
1989 rewriten in C)
– 版本库中任意一个目录拿出来是一个新的版本库
– Commit log, checkin, checkout, tag, branch
– 文件的版本号相互独立,全局版本号只能不停地
打 tag
CVS 原理示意
SVN
● 索引的是二维信息:文件、版本
● CVS :工作区中的每个文件对应版本库中的一个
文件
● SVN :每个版本的一个差异文件,一个信息文件
– 以顺序数字编号命名
– db/revs 下的:与上一提交的差异
– db/revprogs 下的:提交日志、作者、提交时间
● SVN 实现了全局版本号、原子提交、跟踪重命名
SVN 原理示意
Linus 为何迟迟不用版本控制
● 集中式版本控制系统
– 版本库存储在服务器端,每次提交、查看日志能
操作都要与服务器连接
– 代码的稳定性高度依赖中心服务器
– 历史不容篡改,无法做试验性提交,“一失足成千
古恨”
● Linus 认为这不符合开源项目的精神,因此直到
2002 年才使用商业版本控制系统 BitKeeper 管理
Linux 代码
分布式版本控制系统
● 每个人拥有一个完整的版本库
● 查看日志、提交、创建 tag 和分支等操作可以在
本地完成,不再时刻需要网络连接
● 在推送到远程版本库前可以做很多试验性的提
交,反复悔改而不必担心干扰其他人
● 多样的协同工作模型使开源项目的参与度爆发式
增长
Git 是逼出来的
● 2005 年 4 月, Andrew Tridgell 试图对 BitKeeper 进行反
向工程,以开发一个能与之交互的开源工具
● BitMover 公司要求收回对 Linux 社区的免费授权
● Linus 只好“自力更生”:
– 20050403 ,开始开发
– 20050406 ,项目发布
– 20050407 ,Git 作为自身的版本控制工具
– 此时 git 代码只有 1244 行,只有一些底层命令
Git 是逼出来的 (contd)
– 20050418 ,第一次分支合并
– 20050429 ,Git 的性能达到 Linus 的预期
– 20050616 ,Linux 2.6.12 开始采用 Git
– 20050726 ,Linus 功成身退 ,将Git 的维护交
给
您可能关注的文档
最近下载
- 20171017_宁波新世界明楼项目汇报文件.pptx VIP
- (人教PEP版2024)英语五年级上册 Unit2 大单元教学设计.docx VIP
- 劳务合同模板2025.docx VIP
- 高性能探针卡生产线项目规划设计方案.docx
- 2024年秋新沪科版物理八年级上册 第五章大单元整体设计 教学课件.pptx VIP
- 数字赋能乡村治理的实践探索与优化路径——以晋南S村为例.pdf
- 《道路运输管理实务》第2版综合测试题.docx VIP
- 《人工智能导论》课件.ppt VIP
- 第一章 大学生心理健康教育.pdf VIP
- 《铁路线路养护与维修》课件全套 模块1、2 基础知识;普速铁路线路工务作业.pptx
文档评论(0)