Git实战

来自软件实验室
Subaochen讨论 | 贡献2016年1月14日 (四) 22:57的版本 安装Git

跳转至: 导航搜索

版本控制的意义

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

版本控制的历史

  • 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

apt-get install git

Git的全局配置

  • 列出全部全局配置:git config --global -l
  • 用户名:git config --global user.name "su baochen"
  • 邮箱:git config --global user.email subaochen@126.com
  • editor: git config --global core.editor vim
  • git help config 查看所有支持的配置选项

单机使用Git

仓库初始化

git init

添加文件到暂存区

  • git add hello.c
  • git add .
  • git add

团队协作使用Git

使用Github

建立私有的Github服务器

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

参考资料: