Git 是一个开源的分布式的版本管理系统。已经被大部分科技公司所采用,作为自己的代码管理系统。最大的项目托管平台 GitHub 便是基于 Git 来管理代码版本。

为什么需要版本管理

如果你写过论文,或者为甲方写过稿,那么肯定体会被多个修改版本支配的恐惧。 image

最后导师又说,还是第一版看起来比较好,你可能会气得吐血。

对于程序开发也是一样,一个产品从开始到上线至少要经过几百个小版本的迭代开发,有的时候老板一句话,我们又要改回上一个版本。更别说一个项目还是几个开发人员,甚至上百个开发人员合作开发的。

因此,对于一个版本管理系统,至少要满足以下功能:

  • 记录每次修改
  • 保存多个版本文件
  • 能够回滚到任意版本
  • 能与他人合作管理仓库

Git 三大区域

git 有三大区域,分别是工作区、暂存区、仓库区。

  • 工作区(working copy):我们项目开发的区域就是工作区,所有文件的编辑都在这上面完成。
  • 暂存区(staging area):临时存放我们的改动的区域,当我们执行 $git add … 后文件将被提交到暂存区。
  • 仓库区(repository ):已经提交后的代码区域,当我们执行 $git commit … 后文件将被提交到仓库区。

image

$$tip

git 会在仓库中保存我们每次 commit 之后的副本,这代表我们可以回退到之前任意的版本。

$$