.git 文件夹是什么?为什么它是隐藏的?
Git 目前是最流行的版本控制系统。版本控制系统会将对项目代码库所做的更改记录在一个特殊的基于文件系统的数据库中。在 Git 中,这个数据库被称为存储库,其结构受到 Linux 文件系统的启发。存储库维护着我们代码库更改的历史记录。
.git 文件夹包含项目所需的所有信息以及与提交、远程存储库地址等相关的所有信息。它还包含一个存储提交历史的日志。此日志可以帮助您回滚到所需的代码版本。
以下示例创建一个空的 Git 存储库。
$ git init
可以使用 Git Bash 终端中的以下命令查看隐藏的 .git 文件夹:
$ ls −a
命令的输出如下所示:
./ ../ .git/
可以使用 Windows 操作系统中的 tree 命令查看 .git 文件夹的内容。
要从 Git Bash 终端切换到 Windows 终端,请键入 cmd 命令。
$ cmd
现在用户将看到 Windows 终端。导航到 .git 文件夹并使用 tree 命令检查此文件夹的内容。
>> cd .git //Navigate to the .git hidden folder >> tree . // View contents of the current directory.
上述命令的输出可以在以下屏幕截图中看到:
以下是 .git 文件夹中一些重要的子目录和文件:
hooks - 此文件夹包含脚本文件。Git 钩子是在提交、推送等事件之前或之后执行的脚本。
objects - 此文件夹表示 Git 的对象数据库。
config - 这是本地配置文件。
refs - 此文件夹存储有关标签和分支的信息。
HEAD - 此文件存储对当前分支的引用。默认情况下,它指向主分支。
index - 这是一个二进制文件,存储暂存信息。
.git 文件夹将包含对代码库所做的每一次更改的详细信息。所有修改的快照都将像数据库一样记录在此文件夹中,这使得可以撤消更改并回滚到所需的代码版本。
隐藏 .git 文件夹是为了防止意外删除或修改该文件夹。如果删除此文件夹,代码库的版本历史记录将丢失。这意味着将来无法回滚对代码所做的更改。