相关疑难解决方法(0)

是否可以在不先检查整个存储库的情况下进行稀疏检出?

我正在使用包含大量文件的存储库,这需要几个小时才能结账.我正在研究Git是否能够很好地使用这种类型的存储库,因为它支持稀疏检出,但我能找到的每个示例都执行以下操作:

git clone <path>
git config core.sparsecheckout true
echo <dir> > .git/info/sparse-checkout
git read-tree -m -u HEAD
Run Code Online (Sandbox Code Playgroud)

这个命令序列的问题是原始克隆也执行结帐.如果将-n添加到原始克隆命令,则read-tree命令会导致以下错误:

错误:稀疏结账不会在工作目录上留下任何条目

如何在不先检出所有文件的情况下进行稀疏结账?

git

159
推荐指数
12
解决办法
11万
查看次数

克隆 git repo 的子树/子目录

我在 Github 上有一个 git 仓库,看起来像这样:

.git/
assets/
  tools/
    a.sh
    b.sh
    c.sh
Run Code Online (Sandbox Code Playgroud)

当然 .git 文件夹不在版本控制中,但您明白了。我想将 tools/*.sh 复制到本地目录,路径如下:

./scripts/git/tools
Run Code Online (Sandbox Code Playgroud)

我当前的目录是一个 git 存储库,它与远程 git 存储库共享完全不同的历史记录,我只想从远程复制一些文件,我不想合并任何内容。

我想我可以做这样的事情:

git clone --path assets/tools/*.sh "$remote_repo"  ./scripts/git/tools
Run Code Online (Sandbox Code Playgroud)

但该命令不是真实的,我可以使用一些命令来执行此操作吗?

我能想到的唯一其他方法是将整个存储库克隆到某个临时目录,然后复制文件,但这并不是那么有趣。

git git-clone git-subtree

9
推荐指数
2
解决办法
3万
查看次数

标签 统计

git ×2

git-clone ×1

git-subtree ×1