我正在努力学习git。
我阅读了一些教程。在任何地方,我都对这个术语的实际含义感到困惑,称为'存储库'。
见以下定义:
存储库包含一个名为.git的目录,其中git保留所有目录 它的存储库元数据。 .git目录的内容是 私人对git。
所以,我的问题是包含整个项目的目录(即我项目的所有文件)以及.git
目录(通常是默认隐藏)是否称为存储库只有我项目文件夹中的.git
文件夹名为存储库?
答案 0 :(得分:1)
我相信两者都是对的。
在Pro Git中,它说,"这引导我们进入Git项目的三个主要部分:Git目录,工作树和临时区域。"有一张照片上写着" .git目录(存储库)"。从这里我们可以说存储库是.git
,其中Git存储项目的元数据和对象数据库。
但是,有证据证明存储库包含的内容超过.git
。 Git存储库可以是裸存储库,也可以是非裸存储库。什么是裸存储库?它是a repository that doesn’t contain a working directory。因此,非裸存储库包含工作目录。此外,让我们来看看Git子模块。什么是子模块? A submodule is a repository embedded inside another repository。无法将裸存储库添加为子模块。添加子模块的操作必须位于超级项目的工作树中。
关于工作目录和工作树之间的区别,它是另一个故事。有some answers。
答案 1 :(得分:0)
以这种方式考虑:包含项目文件的文件夹(所有代码)是代码存储库。包含Git元数据的.git
文件夹是Git存储库。 Git存储库对应到代码存储库的内容。
通常,当有人说" Repository"时,它通常表示代码存储库(包括.git
文件夹,如果代码库是版本控制的)。当"存储库"就Git而言,它在技术上意味着.git
文件夹及其内容。