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

https://www.jianshu.com/p/4821f3c802a6

原理结构图

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代码,最后大家都需要把本地仓库的变更和这个同步。



作者:不将就人生
链接:https://www.jianshu.com/p/4821f3c802a6
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

猜你喜欢

转载自blog.csdn.net/liufengl138/article/details/89513584