Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GIT本地存储库_Git - Fatal编程技术网

GIT本地存储库

GIT本地存储库,git,Git,我试图弄清楚在文件系统中看到的“本地存储库”和我正在处理的本地文件是什么(在其他源代码管理工具中称为“工作区”)。 进一步解释如下: 假设我的本地代码位于:c:\users\A\documents\GitHub\。更改其中一个文件后,我可以将更改提交到我的“本地存储库”中的主分支(当前为主分支)“本地存储库”实际位于何处?本地存储库位于您的计算机中。当git推送您的更改时,您机器上的本地更改将在Gothic中存在的远程存储库中更新 c:\users\A\documents\GitHub的存储库位

我试图弄清楚在文件系统中看到的“本地存储库”和我正在处理的本地文件是什么(在其他源代码管理工具中称为“工作区”)。 进一步解释如下:
假设我的本地代码位于:c:\users\A\documents\GitHub\。更改其中一个文件后,我可以将更改提交到我的“本地存储库”中的主分支(当前为主分支)“本地存储库”实际位于何处?

本地存储库位于您的计算机中。当git推送您的更改时,您机器上的本地更改将在Gothic中存在的远程存储库中更新

c:\users\A\documents\GitHub的存储库位于一个隐藏的子目录
c:\users\A\documents\GitHub\.git

您可以在以下目录中获得更多详细信息:

Git项目通常由一个工作目录组成,顶层有一个“.Git”子目录

(Windows中的隐藏文件夹:在
c:\users\a\documents\GitHub
中执行
dir/AH
以查看它)

.git
目录包含一个表示项目完整历史记录的压缩对象数据库、一个将该历史记录链接到工作树当前内容的“索引”文件,以及指向该历史记录的命名指针,如标记和分支头

对象数据库包含三种主要类型的对象:blob,它保存文件数据;树,指向blob和其他树以建立目录层次结构;和提交,每个引用一棵树和一些父提交

您可以使用
--git dir
选项或
git_dir
环境变量更改(本地存储库的)默认位置。

我有。

如上罗兰·史密斯所述,本地存储库数据存储在存储库文件夹中的.git文件夹中(GitHub

为了进一步了解,让我们检查该文件夹的内容

$ ls -C .git
COMMIT_EDITMSG  MERGE_RR    config      hooks       info        objects     rr-cache
HEAD        ORIG_HEAD   description index       logs        refs
我不会描述文件夹中的所有项目。但是感兴趣的文件夹是
对象
文件夹。如果检查“对象”文件夹的内容

$ ls -C .git/objects
09  24  28  45  59  6a  77  80  8c  97  af  c4  e7  info
11  27  43  56  69  6b  78  84  91  9c  b5  e4  fa  pack
它包含许多以两个字符命名的文件夹。git中存储的对象的前两个字母sha1散列是目录名

我不打算详细描述这些对象文件是如何生成的。这是有道理的

提示:如果您想了解.git文件夹中其他文件的更多详细信息,请选中