我启用了稀疏结账
git init
git remote add <url>
git config --global core.sparseCheckout true
echo "assets" >> .git/info/sparse-checkout
git pull origin master
Run Code Online (Sandbox Code Playgroud)
Git只为我检查了资产文件夹
但是现在,我想再次启用完整的分支机构检查(签出文件夹/文件),但它似乎不起作用.
1)首先我禁用了配置
git config --global core.sparseCheckout false
Run Code Online (Sandbox Code Playgroud)
2)删除.git/info/sparse-checkout中的条目
但git没有为我检查任何其他文件夹/文件,似乎它坚持'资产'文件夹.
谁能告诉我如何在不创建新仓库的情况下重置/禁用此稀疏结账.
Von*_*onC 15
你可以看到Roscoe A. Bartlett 在这个剧本中"撤消"稀疏结账的例子:
git read-tree
很重要
echo "Undoing sparse checkout"
# Get the full tree back
echo "*" > $SC_FILE
git config core.sparsecheckout true
git read-tree --reset -u HEAD
# Wipe out all traces of sparse checkout support
rm $SC_FILE
git config core.sparsecheckout false
Run Code Online (Sandbox Code Playgroud)
Rich Somerfield 撰写的文章" Aditures in Git - SparseCheckouts " 提出了一个类似的选项(对子模块也有效):
echo "/*" > .git/info/sparse-checkout
echo "/*" > .git/modules/<MODULEPATH>/info/sparse-checkout
git read-tree -mu HEAD
git config core.sparseCheckout false
Run Code Online (Sandbox Code Playgroud)
布拉汉姆施奈德增加在评论该更新一个.git/info/sparse-checkout
(检出和跟踪其他文件)可以与实现
git read-tree --dry-run HEAD
Run Code Online (Sandbox Code Playgroud)
Sas*_*olf 10
虽然VonC的答案肯定是正确的并且将有助于解决迫在眉睫的问题,但我觉得有必要详细说明并解释潜在的问题.
Git sparse-checkout
使用该skip-worktree
位,它基本上告诉git将工作目录中的文件视为"最新",而不管真实状态如何.
使用sparse-checkout
git时,会将此位应用于与文件中描述的模式不匹配的所有sparse-checkout
文件.禁用sparse-checkout
或删除模式文件时,仍会设置此位并且文件不会返回.你可以在这里读到它.
因此,您必须skip-worktree
从相关文件中手动删除该位.最简单的方法当然是VonC的建议.
这背后的原因很简单.该skip-worktree
位并非专门用于sparse-checkout
它,而是git工具箱中的一个工具.其他进程使用相同的位,或者用户甚至可以使用它自己的(我个人经常使用它来忽略调试时对配置文件的更改).
旁注:通过使用,您实际上可以获得已用该skip-worktree
位标记的文件列表git ls-files -v
.这将列出版本控制下的所有文件; 带有skip-worktree
位的文件以a为前缀S
.
如果您只想列出已skip-worktree
标记的文件,可以使用以下命令轻松解析并grep该列表:git ls-files -v | grep '^S' | cut -d' ' -f2
.
虽然从 git 2.27 开始它仍然处于实验阶段,但现在有一个命令可以更透明/直观地处理这个问题:
git sparse-checkout disable
Run Code Online (Sandbox Code Playgroud)
我的理解是,您不必core.sparseCheckout
再手动设置,应该使用这个新命令来启用、配置和禁用它git sparse-checkout
。
https://git-scm.com/docs/git-sparse-checkout
归档时间: |
|
查看次数: |
2834 次 |
最近记录: |