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

时间:2017-09-11 22:06:37

标签: git filesystems

我正在我的Windows机器上运行git bash客户端,我用它将远程仓库的所有分支克隆到我的Windows机器上名为“localRepo”的目录中。 repo有两个分支(“master”和“develop”),我从分支“master”开始。

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

当我转到git客户端命令行和checkout分支“develop”时,git客户端是否操作Windows文件系统,以便当我在Windows中转到“localRepo”时,我会看到分支上的文件“develop”文件资源管理器?

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

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

2 个答案:

答案 0 :(得分:1)

是的,在git checkout develop之后,GIT将使用开发分支中的文件物理更新localRepo Windows文件夹。试试吧,你会看到。

答案 1 :(得分:0)

如果您有两个分支机构,则您的案例在本地仓库中为masterdevelop。 首先,您应该知道工作目录是分支共享的。

如果您在dev分支中添加a.txt,并输入内容a,但未将a.txt添加到舞台,则结帐到master分支。您可以看到a.txt及其内容,因为a.txt与两个分支无关。

如果你将a.txt添加到舞台,并将其提交到dev分支中的主人,那么你结帐到主人,你看不到a.txt,因为{{1现在控制git,你的猜想是正确的,git将更新基于分支的repo目录。如果您希望在主分支中拥有a.txt,只需将a.txt分支合并到主分支中。

关于你的:

  

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

是的,git注定要跟踪它,你可以打开dev文件,如果在主分支中显示:

.git/HEAD

如果您结帐到其他分支机构,您可以看到重大变化。