gpt4 book ai didi

windows - 为什么 git sparse checkout 会留下目录?

转载 作者:可可西里 更新时间:2023-11-01 09:29:56 24 4
gpt4 key购买 nike

一些背景:我公司的服务模型最初是基于设备的服务器模型。我们会向我们的客户发送一台装有 Windows Server 2003/2008 的服务器,并预装了网络服务器和我们的软件。我们正在将所有特定于客户端的配置移动到 Git 存储库,并使用稀疏检查使每个服务器仅包含客户端软件正常运行所必需的内容。

在设置稀疏 checkout 时,我们遇到了一个巨大的不一致问题。我们会做的

git clone git@github.com:ourclientconfigrepo.git .
git config core.sparsecheckout true
echo www.thisclient.com/ > .git/info/sparse-checkout
git read-tree -m -u HEAD

预期的结果是

ls
www.thisclient.com/

但是我们得到

ls
www.thisclient.com/
www.randomclient1.com/
www.randomclient2.com/
www.randomclient3.com/

我已经尝试了很多次,每次都在一个新的目录中,而且每次都出现这个问题。我的 ju-git-su 在这里让我失望了。我们使用的是 git 版本 1.8.1.msysgit.1。

感谢您的帮助,如果我需要提供更多信息,请告诉我。

---编辑1---

澄清:存储库只是我们客户的配置目录。每个客户端在存储库中都有一个不同的目录,我们试图在每个客户端的单独服务器上进行稀疏 check out ,因此我们试图排除除相关客户端之外的所有内容。

---编辑2---

只是一个更新,事实证明这是 Windows 文件夹权限问题,Git 试图删除非空目录。通过删除空文件夹修复它。感谢您提供的所有帮助!

最佳答案

您的克隆操作不是创建稀疏克隆的正确方法。而不是:

git clone ...

你应该使用这个序列:

mkdir repo ; cd repo ; git init
git remote add -f origin <url>
git config core.sparsecheckout true
echo <dir1>/ >> .git/info/sparse-checkout
echo <dir2>/ >> .git/info/sparse-checkout
echo <dir3>/ >> .git/info/sparse-checkout
git pull origin master

关于windows - 为什么 git sparse checkout 会留下目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com