Git 本地存储库中的物理文件与逻辑文件

Physical vs logical files in Git local repo

我正在尝试了解 Git 工作流程。例如,如果我看到以下从网上随机拍摄的图片:

Git workflow 1

Git workflow 2

Git workflow 3

它们显示了一个远程目录和 3 个本地目录,即工作目录、暂存区和本地回购。到目前为止,我所了解的是,所有 3 个本地目录都是物理上 1 个目录的名称,例如我在其中克隆远程仓库的目录。虽然我可以将这个本地仓库切换到 3 种不同的逻辑状态,即工作目录、临时区域和本地仓库。

如果理解有误请指正

让我用一张图简单的给大家解释一下;

git 驻留在您的本地计算机中的本地文件系统称为 Local Repository。假设它是驻留在您计算机中的所有内容的集合。

现在,当您切换到一个分支时,您将能够访问/查看属于该分支的文件。这些文件 虚拟 呈现给您。这意味着,与其他分支关联的所有文件对您都是隐藏的(不像隐藏文件),您只会看到一些文件。比方说,本地存储库 包含所有文件,但除了该特定分支之外的所有内容都对您隐藏。现在,您看到所有这些文件的区域称为 Workspace。因此,为了您的理解,假设 Local Repository + Branch = Workspace / Working directory.

同样,当您对分支中的文件进行更改时,它们会在永久保存(提交)之前暂时保存(暂存)。在完成更改之前,您可以在该区域添加/删除/修改文件。这个 space 被称为 index.

提交更改后,您的文件将永久存储在一个分支中,这些文件所在的位置称为 本地存储库