随着 git 越来越多地被宣传(和增强)以更好地支持非常大的存储库(所谓的“monorepos”),最近对稀疏签出工作流程进行了重大增强(git-sparse-checkout 命令和部分克隆/承诺/--filter ),我很惊讶在处理提交历史记录时找不到利用稀疏签出配置/规范的方法。
我看到该主题已在之前的问题中部分提出:
唯一的答案提出了每个命令的路径过滤器,但是.git/info/sparse-checkout
如果不是不可能的话,将规范转换为路径过滤器通常是不平凡的。
缺乏稀疏结帐支持似乎特别成问题git diff
,在大型单仓库中,由于所有其他团队/区域的更新,两个相当远的仓库版本之间的差异可能会被严重掩盖,或者实际上无法访问,当命令行上的简单路径过滤器不可行。这主要是一个可读性/可达性/可用性问题,但当您对树的选择及其所有重命名源感兴趣时,大概也有一个性能组件。
有谁知道使用稀疏检出配置来限制/范围导致git diff
(在提交之间)和其他类似的工具git log
是可能的,和/或这种可能性是否在起作用?