加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在Windows上git:“错误:稀疏检出在工作目录中没有条目”

发布时间:2020-12-13 21:10:57 所属栏目:Windows 来源:网络整理
导读:我有错误: “error: Sparse checkout leaves no entry on the working directory” 当试图在windows上设置一个稀疏的checkout在git。研究这个问题后,我已经回答了我自己的问题,并找到了完整的答案。 TL;博士 使用git-bash提示不要使用PowerShell(尽管看到
我有错误:
“error: Sparse checkout leaves no entry on the working directory”

当试图在windows上设置一个稀疏的checkout在git。研究这个问题后,我已经回答了我自己的问题,并找到了完整的答案。

TL;博士

使用git-bash提示不要使用PowerShell(尽管看到我的下面的编辑):

git clone –n <repo> <local-directory-name>
cd <local-directory-name>
git config core.sparsecheckout true
echo some/sub-folder/you/want >> .git/info/sparse-checkout
git checkout <branch-name>

完全解释

稀疏检出使您能够处理存储库的一个子集。在大型存储库中设置稀疏检查是值得的,一切都快得多!

我在Windows上设置了很多“错误:稀疏检出在工作目录中没有条目”。经过一番研究,我发现以下步骤很小,对我而言 – YMMV一直很好。

最重要的一点是 – 不要在这些步骤中使用POWERSHELL / CMD – 使用git bash提示符。这是因为echo命令产生带有BOM标记的UNICODE文件。该文件必须是具有UNIX样式行结尾的ANSI格式的文件,git才能正确解析。这是最可能的原因“错误:稀疏检出在工作目录中没有条目”错误。

>从您希望成为根文件夹的目录的父目录中,假设文件夹名称为“src”,请执行以下操作:抓取整个repo(仍然需要),但重要的是不执行检出,并且正确设置原点远程和分支跟踪。

git clone –n <your repository> src

>你应该有一个相当空的src文件夹(它将具有.git隐藏文件夹)。现在运行以下。这将更新本地git配置以打开稀疏检出,并在.git / info隐藏文件夹中创建一个文件,该文件将在执行稀疏检出时列出要包括的所有文件夹。这可以稍后修改以添加其他文件夹。重要提示:请确保使用下面的git bash提示符,并使用支持unix行结束约定的编辑器,并在编辑稀疏检出文件时另存为ANSI,否则可能会出现“错误:稀疏检出不会在工作目录“错误。您要结帐的<路径>可能看起来像这样:path / to / subfolder – 注意缺少前导和尾随路径分隔符。

cd src
git config core.sparsecheckout true
echo <path you want to checkout> >> .git/info/sparse-checkout

>现在你准备结帐了。这应该只是填入稀疏检查文件夹。如果没有,仔细检查你的拼写上面的一切!

git checkout <branch-name>

编辑 – 回声在Powershell

我最近发现,在PowerShell中的回声是写输出的一个简单。可以通过将回送管道输出到out-file命令来获得ASCII输出,从而允许您指定编码。所以这将从Powershell工作并提供正确的文件内容:

echo some/sub/folder/you/want | out-file -encoding ascii .git/info/sparse-checkout

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读