“Git实战”的版本间的差异

来自软件实验室
跳转至: 导航搜索
版本控制的历史
版本控制系统的佼佼者:Git
第26行: 第26行:
  
 
== 版本控制系统的佼佼者:Git ==
 
== 版本控制系统的佼佼者:Git ==
=== 基本原理 ===
+
=== 记录快照!而非差异 ===
 +
 
 +
大多数VCS记录文件版本间的差异,如下图所示:
 +
[[file:vcs_record_diff.png]]
 +
 
 +
而Git记录的是文件的快照,即文件在某个时刻的完整内容!
 +
[[file:git_record_snapshort.png]]
 +
 
 +
=== 使用哈希保证数据的完整性 ===
 +
每个文件/目录都采用哈希算法生成一个字符串,使用该字符串代表文件而不是文件名
 +
=== 每个本地仓库都是完整的副本 ===
 +
也就是每个项目都是完整的,几乎所有的有关版本的操作都在本机进行,这样的好处:
 +
* 很快
 +
* 每个团队成员都拥有一个完整的备份
 +
 
 +
=== 文件的三个位置 ===
 +
[[file:git_file_position.png]]
 +
 
 +
* 工作区
 +
* 暂存区
 +
* 本地仓库
  
 
== 单机使用Git  ==
 
== 单机使用Git  ==

2016年1月14日 (四) 22:46的版本

版本控制的意义

  • 简单有效的文件备份
  • 不花钱的后悔药
  • 团队协作的不二法宝

版本控制的历史

  • RCS(Revision Control System):rcs
  • CVS(Concurrent Version System):cvs
  • CVCS(Centeralize Version Control System): subversion
  • DVCS(Distributed Version Control System): git

git的简短历史

  1. 2005年4月3日:开始开发Git
  2. 2005年4月6日:项目发布
  3. 2005年4月7日:Git成为自身的版本控制工具
  4. 2005年4月18日:发生第一个多分支合并
  5. 2005年4月29日:Git的性能达到了Linus的预期
  6. 2005年6月16日:Linux内核的2.6.12发布,此时,Git已经是Linux内核的版本控制系统了。
  7. 2005年7月26日:Linus功成名退,将Git的维护交给Git另外一个主要贡献者:Junio C Hamano,直到现在。

版本控制系统的功能

  • 跟踪文件的变化
  • 建立分支
  • 建立里程碑(tag)

版本控制系统的佼佼者:Git

记录快照!而非差异

大多数VCS记录文件版本间的差异,如下图所示: Vcs record diff.png

而Git记录的是文件的快照,即文件在某个时刻的完整内容! Git record snapshort.png

使用哈希保证数据的完整性

每个文件/目录都采用哈希算法生成一个字符串,使用该字符串代表文件而不是文件名

每个本地仓库都是完整的副本

也就是每个项目都是完整的,几乎所有的有关版本的操作都在本机进行,这样的好处:

  • 很快
  • 每个团队成员都拥有一个完整的备份

文件的三个位置

Git file position.png

  • 工作区
  • 暂存区
  • 本地仓库

单机使用Git

团队协作使用Git

使用Github

建立私有的Github服务器

在R314建立一个项目(或者若干项目),团队成员协作完善。

参考资料: