git属于分布式版本控制系统:
客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整的镜像下来。
优点:
1.由于任何人每次提取操作,实际上都是一次对代码仓库的完整备份,因此近乎所有的操作都可以在本地执行,速度就是相当的快,并且可以在网络断开的时候操作仍然不受影响,可以频繁的进行提交更新,等到有网络的时候再上传到远程的镜像仓库就可以了。
2.git的分支模型,相当的轻量级,被称为“必杀技”。
缺点:
1.每个开发人员都拥有所有的代码,不利于核心代码的保密(如果有重要代码需要保密,则不建议使用git)
git的工作模式
远程仓库(remote)
工作区(workspace)
存放git版本仓库的目录就是工作区
主要存放代码文件和代码库
历史区(repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
暂存区(index)
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
git 的工作流程
指针--- HEAD:
你的本地仓库由 git 维护的三部分组成。
第一个是你的 工作目录,它持有实际文件;
第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;
第三个HEAD,指向你最近一次提交后的结果。
创建两个文件add到stage:
git add 文件名
或者
git add *
Git跟踪并管理的是修改,而非文件:
第一次修改 -> git add -> 第二次修改 -> git add -> git commit
每次修改,如果不add到暂存区,那就不会加入到commit中。