带有排除的 Git 稀疏 checkout

标签 git sparse-checkout

根据 this thread , Git 中的排除 sparse-checkout feature应该实现。是吗?

假设我有以下结构:

papers/
papers/...
presentations/
presentations/heavy_presentation
presentations/...

现在我想从 checkout 中排除 presentations/heavy_presentation,而将其余部分留在 checkout 中。我还没有设法让它运行。正确的语法是什么?

最佳答案

遗憾的是,以上都不适合我,所以我花了很长时间尝试 sparse-checkout 文件的不同组合。

在我的例子中,我想跳过带有 IntelliJ IDEA 配置的文件夹。

这是我做的:


运行 git clone https://github.com/myaccount/myrepo.git --no-checkout

运行 git config core.sparsecheckout true

使用以下内容创建了 .git\info\sparse-checkout

!.idea/*
!.idea_modules/*
/*

运行“git checkout --”获取所有文件。


让它工作的关键是在文件夹名称后添加 /*

我有 git 1.9

关于带有排除的 Git 稀疏 checkout ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9572407/

相关文章:

git - 是否有可能确定谁的代码(根据 `git blame` )受到 `git diff` 的每个大块输出的影响?

git - 让git忽略生成的文件

具有不同文件权限的git clone

git - 使用稀疏 checkout 更改存储库目录结构

git - 使用 git 同时维护不同版本的代码

Git:处理应用程序缓存?

git - "git checkout tag-name"与 "git reset --hard tag-name"

使用接收后脚本在远程上进行 Git sparse-checkout

git - 将 Git 子模块设置为浅克隆和稀疏 checkout ?