一张图看懂git文件存储原理


原理结构图

git结构图

描述

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

解释

使用git应该明白一点,什么是本地仓库以及为什么有一个本地仓库,git和svn的区别就在这。

git会把服务端上的仓库完整的复制到你本地,看清楚是完整的也就是说:不仅仅是你所在的分支,别人建的分支也会被复制下来

因此通常所做的操作,比如diff,revert,commit等,都是对你本地的仓库进行的,如果要和服务器(远程仓库)同步,就是的pull和push操作


相信很多人看了这张图就明白各个区的含义,不过下面还是按照我的理解做下简单的解释。

1.Workspace 工作区

即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。
通过git pull远程仓库中的文件同步到工作区
通过git add把该区域中的文件提交到暂存区中。

2.Index/Stage 暂存区

保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。
通过git commit把文件提交到本地仓库中。

3.Repository 本地仓库

本地仓库就是从服务器上复制到本地的一份代码,所做的操作都是对这个仓库发生的。
通过git push本地仓库中的文件推送到远程仓库中。

4.远程仓库

远程仓库也就是我们所说的服务器端,大家都从这来clone代码,最后大家都需要把本地仓库的变更和这个同步。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容