【问题标题】:GIT local repositoryGIT 本地存储库
【发布时间】:2023-03-20 03:13:01
【问题描述】:

我正在尝试找出在文件系统中看到的“本地存储库”与我正在处理的本地文件(在其他源代码控制工具中称为“工作区”)。 进一步解释: 假设我的本地代码位于:c:\users\A\documents\GitHub\。更改其中一个文件后,我可以将更改提交到我的“本地存储库”中的主分支(当前为 Master)——“本地存储库”实际位于哪里?

【问题讨论】:

    标签: git


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您可以在"Discussion" section of the git man page了解更多详情:

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

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

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

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

      您可以使用--git-dir 选项或GIT_DIR 环境变量更改该默认位置(本地存储库)。
      我有recently proposed that in a Go development environment

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          如上面 Roland Smith 所述,本地存储库数据存储在存储库文件夹中的 .git 文件夹中(本例中为 GitHub)。

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

          $ ls -C .git
          COMMIT_EDITMSG  MERGE_RR    config      hooks       info        objects     rr-cache
          HEAD        ORIG_HEAD   description index       logs        refs
          

          我不会描述文件夹中的所有项目。但感兴趣的文件夹是objects 文件夹。如果您检查对象文件夹的内容,

          $ 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 hash是目录名。

          我将不再描述这些目标文件是如何生成的。有一个good guide from GIT

          提示:如果您想了解 .git 文件夹中其他文件的更多详细信息,请查看http://gitready.com/advanced/2009/03/23/whats-inside-your-git-directory.html

          【讨论】:

            猜你喜欢
            • 2015-07-14
            • 2013-11-19
            • 1970-01-01
            • 1970-01-01
            • 2014-09-06
            • 1970-01-01
            • 2012-12-19
            • 2013-08-01
            • 1970-01-01
            相关资源
            最近更新 更多