.git 目录解释
在本文中,我们将介绍 Git 文件夹 .git
。我们将介绍 Git 创建文件夹的原因及其包含的内容。
Git 中的 .git
文件夹是什么
Git 是一个广泛使用的版本控制系统。Git 仓库存储你在项目中所做的更改。
.git
目录将所有数据存储在你的仓库中。此文件夹可以存储从有关提交的信息到仓库电子邮件地址的任何内容。
你还将找到一个包含你的提交历史记录的日志。使用此日志,你可以恢复所需的代码版本。
当你运行 git init
命令来初始化一个空仓库时,Git 会创建 .git
文件夹。
你可以通过运行以下命令来查看该文件夹。
ls -C .git
你可以期待如下所示的输出。
$ ls -C .git
COMMIT_EDITMSG HEAD config hooks/ info/ objects/ refs/
FETCH_HEAD ORIG_HEAD description index logs/ packed-refs
让我们进一步探索这个目录的内容。
-
hooks/
–hooks
文件夹存储脚本文件。当你运行诸如push
和commit
之类的命令时,Git 会执行这些脚本文件。 -
objects/
– 此文件夹包含 Git 的对象数据库。 -
config
– 这是 Git 的配置文件。 -
refs/
– 此文件夹包含有关分支和标签的数据。 -
HEAD
– 此文件存储有关你的主分支的信息。 -
index
– 此二进制文件包含暂存数据。
你可以通过运行以下命令查看对象数据库包含的内容。
ls -C .git/objects
你应该得到如下所示的输出。
$ ls -C .git/objects
03/ 24/ 30/ 77/ 87/ ac/ b6/ c6/ e1/ ec/ info/
19/ 29/ 4b/ 78/ 8b/ b1/ c3/ d4/ e6/ f6/ pack/
1f/ 2d/ 67/ 7b/ a6/ b2/ c4/ dd/ e9/ fa/
你可以使用 ls -C .git/objects/<dir>
命令查询数据库的对象。
让我们探索 config
文件。运行 cat .git/config
命令,如下所示。
pc@JOHN MINGW64 ~/Git (main)
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[gui]
wmstate = normal
geometry = 893x435+208+208 175 196
[remote "origin"]
url = https://github.com/Wachira11ke/Delftscopetech.git
fetch = +refs/heads/*:refs/remotes/origin/*
HEAD
文件默认引用你的主分支。
.git
文件夹始终隐藏以防止损坏。如果删除该文件,则无法恢复仓库中的更改。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。