自 2013 年以来,您现在(2020 年)拥有一个专用工具git sparse-checkout
,可以帮助仅克隆 Git 存储库的相关子集。
不仅 git status 会更快,而且在 Git 2.28 (Q3 2020) 中, " git status
" 学会了报告稀疏结帐的状态。
请参阅Elijah Newren ( ) 的commit afda36d、commit 30b00f0(2020 年 6 月 21 日)和commit 051df3c(2020 年 6 月 18 日)。(由Junio C Hamano 合并 -- --在0cc4dca 提交中,2020 年 7 月 6 日)newren
gitster
签字人:以利亚·纽伦
在 $dayjob 尝试稀疏结账的人的一些早期反馈是,稀疏结账有时会让人迷失方向。用户可能会忘记他们有一个稀疏结帐,然后想知道文件去了哪里。
以简单行的形式将一些输出添加到“ git status
”,其中说明:
You are in a sparse checkout with 35% of files present.
显然,确切的数字会根据索引中没有SKIP_WORKTREE
设置位的文件的百分比而变化。
注意: bash 提示脚本 (in contrib/
) 在 " " 下不起作用set -u
,已在 Git 2.32 (Q2 2021) 中修复。
请参阅Elijah Newren ( ) 的提交 5c0cbdb(2021 年 5 月 13 日)。(由Junio C Hamano 合并 -- --在提交 02112fc中,2021 年 5 月 20 日)newren
gitster
签字人:以利亚·纽伦
提交afda36d (" git-prompt
: include sparsity state as well", 2020-06-21, Git v2.28.0-rc0 -- merge列在批次#7 ) 添加了使用一些变量来控制如何在 git 提示符中显示稀疏状态,但隐含地假设未定义的变量将被视为空字符串。
这会破坏在 ' set -u
' 下运行的用户;修复代码更明确。