- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景:最近安装了一台新笔记本电脑,并将我的 repo 从以前的笔记本电脑压缩并在新笔记本电脑上解压缩。其他一切似乎工作正常。我从来没有在这个仓库或这台机器上进行过稀疏检查。
$ git status
On branch develop
Your branch is up to date with 'origin/develop'.
You are in a sparse checkout with 100% of tracked files present.
$ git sparse-checkout list
warning: this worktree is not sparse (sparse-checkout file may not exist)
$ tree .git/info
.git/info
├── exclude
└── refs
我正在使用工作树,所以我创建了一个新的工作树,但它给出了相同的结果。上述命令是从主工作树目录运行的。
我找到了禁用稀疏 checkout 的命令,但它似乎没有任何影响:
$ git sparse-checkout disable
$ git sparse-checkout disable --global
$ git status
On branch develop
Your branch is up to date with 'origin/develop'.
You are in a sparse checkout with 100% of tracked files present.
我很确定我可以简单地重新克隆存储库以使其消失,但我想确保这种情况不会继续发生。
运行 git config --get --bool core.sparsecheckout
打印 true
,git config --list --show-origin
code> 显示它来自本地 .git/config
文件,我可以在其中看到它确实是 true
。运行 git sparse-checkout disable
并立即 cat
文件后,我可以看到该值保持不变。该文件的权限是 644
,我认为这是可以的。
在仔细查看 .git/config
时,我看到了 extensions.worktreeConfig = true
,尽管我没有相应的 config.worktree
(虽然我正在使用工作树)。我运行 git config extensions.worktreeConfig false
并且该值反射(reflect)在文件中。然而,如果我再次运行 git sparse-checkout disable
,它会将 extensions.worktreeConfig
重置为 true
。
一时兴起,我运行了 git config core.sparsecheckout false
,这似乎做出了预期的改变——更好的是,extensions.worktreeConfig
保留了它的值.是的,git status
不再提及“稀疏 checkout ”,这很棒。
这一切都在 git v2.28.0 上。 git sparse-checkout
的文档页面指出:THIS COMMAND IS EXPERIMENTAL,所以也许我应该认真对待它们并将其视为一个错误 :)
最佳答案
根据评论(以及一些在 Git 源代码中搜索),我可以说这似乎是一些新的稀疏支持中的错误,就其与 Git 2.20 中首次引入的功能的交互而言,即extensions.worktreeConfig
,以及 Git 2.28 发布的内容。
要修复它,您应该能够运行:
git config core.repositoryformatversion 1
(或者,你可以做你所做的😀)。
extensions.worktreeConfig
setting is, or at least was originally, 打算与git worktree
一起使用.它导致 Git 读取两个 本地(特定于存储库的)配置文件:名为 config
的文件在$GIT_DIR
(即 .git/config
),以及名为 config.worktree
的文件.
就其本身而言,此功能似乎毫无用处:为什么要为一个配置读取两个单独的文件?这里的技巧是 .git/config
适用于所有添加的工作树,而每个添加的工作树都有自己的 config.worktree
文件。因此,您可以在每个添加的工作树中配置不同的设置:您想要为附加到此存储库的所有 工作树配置的任何内容都在 .git/config
中。 , 并且任何你想要在一个特定的 work-tree 中附加到这个存储库的东西都在 $GIT_DIR/worktrees/<id>/config.worktree
中(假设它是一个添加的工作树而不是主工作树:主工作树没有 worktrees/
子目录,所以一个文件将在 $GIT_DIR/config.worktree
中)。
与稀疏 checkout 本身的交互很简单:稀疏 checkout 意味着每个工作树。所以任何时候你使用 git sparse-checkout
, Git 尝试打开每个工作树扩展并分别在每个工作树中设置配置。但是这里有一个错误,与稀疏 checkout 没有直接关系。
Git 中有一个更古老的设置,称为 core.repositoryformatversion
.此设置早于 Git 1.0(包含添加它的提交的最旧标记是 v0.99.9l
,对于 Git 1.0 是 rc4)。此设置从创建之时 (2005) 到 extensions.*
一直设置为零创建于 2015 年([commit 00a09d57eb8a041e6a6b0470c53533719c049bab
(https://github.com/git/git/commit/00a09d57eb8a041e6a6b0470c53533719c049bab))。 所有 扩展(extensions.*
设置)应该需要core.repositoryformatversion
设置为 1
,以便启用它们。但事实上,他们没有。
对于 Git 版本 2.28.0,Git 添加了代码以检查上述要求。如果core.repositoryformatversion
设置为零,所有扩展都被禁用。一旦设置为 1,扩展将被启用。
不幸的是,像git sparse-checkout
这样的程序将使用扩展,而不首先设置 core.repositoryformatversion
.在 Git 2.28 之前,这是可行的。因此,就目前而言,所有这些实验性命令都奏效了。但后来这个长期存在的错误得到了修复,它破坏了使用扩展的一切。1
在 Git 2.29 中,我相信 Git 会注意到错误并发出警告 repositoryformatversion
设置,或自动修复它。 (我没有检查或测试过这个。)
1扩展的主要其他用户可能是部分克隆的东西,通过 extensions.partialClone
启用和 extensions.partialCloneRemote
.其他的是extensions.objectFormat
, extensions.preciousObjects
,当然还有 extensions.worktreeConfig
.
关于git - 为什么 git 认为我有一个稀疏 checkout ? "You are in a sparse checkout with 100% of tracked files present.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64541671/
有人知道什么时候最好选择哪个吗?在我看来,它们是一样的... lsmr lsqr 最佳答案 两种软件包的功能相同。 LSMR基于2010年的Fong&Saunders算法(请参阅paper),并且最近
似乎 scipy.sparse.linalg 的迭代求解器不支持 scipy.sparse 的稀疏矩阵数据类型作为方程系统的右侧(而直接求解器会)。考虑以下简短示例: import numpy as
我有一个包含多个字符串列的数据框,我想将其转换为分类数据,以便我可以运行一些模型并从中提取重要特征。 但是,由于唯一值的数量,单热编码数据会扩展到大量列,从而导致性能问题。 为了解决这个问题,我正在试
我有一些需要每天同步的 VM 镜像。 VM 文件是稀疏的。 为了节省网络流量,我只想传输图像的真实数据。 我在 rsync 中使用 --sparse 选项进行尝试,但在网络流量上,我看到整个大小都通过
我有一些不明白的信息: Bigtable may be understood a sparse table. Most cells contain nullvalues - too sparse to
我一直在查看 Matlab 的 sparse documentation试图找出是否有任何指导方针来说明何时使用稀疏表示而不是完整表示是有意义的。 例如,我有一个包含大约 30% 非零条目的矩阵 da
当我尝试编译以下程序时,编译器提示 j 和 row 未声明,这让我感到惊讶,因为 Chapel - Ranges defined using bounds of type 'range(int(64)
我需要以某种方式在磁盘上存储一个 512^3 阵列,我目前使用的是 HDF5。由于阵列稀疏,因此浪费了大量磁盘空间。 HDF5 是否为稀疏数组提供任何支持? 最佳答案 一种解决方法是使用 compre
稀疏张量与自身或密集张量的乘法在 TensorFlow 中似乎不起作用。下面的例子 from __future__ import print_function import tensorflow as
我有一个git存储库,其中有一堆大型csv,我不想克隆,因此我遇到了git sparse-checkout和这篇文章:https://github.blog/2020-01-17-bring-your
是否有一种简单的方法可以按列贬低稀疏矩阵,同时将零值视为缺失(使用 Matrix 包)? 我似乎遇到两个问题: 找到合适的列意味着 空单元格被视为零而不是缺失: M0 或者@user20650评论
我在训练具有稀疏输入数据的神经网络以解决监督回归问题时遇到问题。当我对输入数据执行均值归一化(减去均值再除以标准差)时,我得到了很多NaN值。我想知道是否有人有处理此类问题的经验。缩放稀疏输入数据的正
在 Eigen 中编辑稀疏矩阵对角线的最快方法是什么?我已经使用三元组填充了它,但我偶尔需要更改所有对角线值(它们已经设置为非零值)。 最佳答案 如果可以接受,您可以简单地使用它们的索引,例如 sp_
我看到“稀疏”和“稀疏”的使用方式表明它可以提高模型的准确性。例如: I think the unsupervised phase might be not so important if some
MATLAB Coder 似乎很花哨,可以通过将代码转换为 C/C++ 或 MEX 来加快 MATLAB 代码的速度。但是它似乎不支持稀疏矩阵,或者 matlab 函数 sparse 这对我的代码至关
我有一个使用 scipy.sparse.linalg.gmres 求解稀疏线性系统的简单代码 W, S = load_data() M = normalize(W.T.astype('float64
我正在尝试创建一个大小为 n 的多维数组(其中 n 是符号形状张量的一部分)。该数组在每个区域中都应有 0,但很少有区域是变量 b_class。 这是一个简单的 Numpy 实现,但在这种情况下,我们
Java 7 defines this option ,但我不明白它的用处。考虑这个简单的程序,它在一台足够新的 Linux 机器上运行,带有 Java 6 JVM: public static vo
我有一个 CSR matrix : >> print type(tfidf) 我想对 CSR matrix 的两行进行点积: >> v1 = tfidf.getrow(1) >> v2 = tfid
尽管一切似乎都已矢量化,但以下代码运行速度太慢。 from numpy import * from scipy.sparse import * n = 100000; i = xrange(n); j
我是一名优秀的程序员,十分优秀!