git客户端和本地文件系统之间的交互

git客户端和本地文件系统之间的交互,git,filesystems,Git,Filesystems,我在我的Windows机器上运行git bash client,并使用它将远程repo的所有分支克隆到我的Windows机器上名为“localRepo”的目录中。回购协议有两个分支(“主”和“开发”),我从分支“主”开始 当我在Windows文件资源管理器中打开“localRepo”时,我会看到.git子目录以及该分支的各种文件和子目录 当我转到git客户端命令行并签出分支“develope”时,git客户端是否会操纵Windows文件系统,以便我在Windows文件资源管理器中转到“local

我在我的Windows机器上运行git bash client,并使用它将远程repo的所有分支克隆到我的Windows机器上名为“localRepo”的目录中。回购协议有两个分支(“主”和“开发”),我从分支“主”开始

当我在Windows文件资源管理器中打开“localRepo”时,我会看到.git子目录以及该分支的各种文件和子目录

当我转到git客户端命令行并签出分支“develope”时,git客户端是否会操纵Windows文件系统,以便我在Windows文件资源管理器中转到“localRepo”时可以看到分支“develope”上的文件

我假设git保留.git目录中所有分支的状态


git是否正在创建在分支更改时切换的符号链接?

是的,在git checkout develop之后,git将使用develop分支中的文件物理更新您的localRepo Windows文件夹。试一试,你就会明白。

如果你有两个分支机构,你的案例是本地回购中的
master
develope
。 首先,您应该知道工作目录是共享的

如果您在
dev
分支中添加了
a.txt
,并键入了内容
a
,但没有将
a.txt
添加到后台,那么您将签出到
主分支。您可以看到
a.txt
及其内容,因为
a.txt
与这两个分支都没有关系

如果您将
a.txt
添加到stage,并在
dev
分支中将其提交给master,然后您签出到master,您将看不到
a.txt
,因为
a.txt
现在控制着git,您的猜测是正确的,git将根据分支更新repo目录。如果您想在master分支中拥有
a.txt
,只需将
dev
分支合并到master中即可

关于您的:

git是否正在创建在分支更改时切换的符号链接

是的,要跟踪它的git,您可以打开
.git/HEAD
文件,如果在主分支中显示:

ref: refs/heads/master

如果您签出到其他分支,您可以看到显著的变化。

这是什么意思?
我看到了该分支的.git子目录以及各种文件和子目录。
?你的分支机构是什么意思?