我正在处理一个拥有大量文件的代码库,检出操作需要几个小时时间。我在探索是否可以使用Git来管理这种代码库,因为它可以支持“稀疏检出”,但是我找到的所有示例都执行以下操作:
git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD
这个命令序列的问题在于原始克隆(clone)还进行了一次检出(checkout)。如果在原始的克隆命令中添加-n参数,那么read-tree命令将会产生以下错误:error: Sparse checkout leaves no entry on working directory
如何在不先检出所有文件的情况下进行稀疏检出?
git worktree add --no-checkout
也可以在Git 2.9(即2016年)中使用(不仅仅是git clone --no-checkout
)。请参见我的答案。 - VonC