git - 使用 git 只克隆一个子目录

标签 git sparse-checkout

<分区>

我有一个包含子目录的 git 存储库。示例 dirA/dirB。 有什么方法可以在 Unix 服务器上执行 git clone 以仅从子目录 (dirB) 中提取文件?

除了 clone 之外,还有其他 git 命令可以执行此操作吗?

我如何 git 一个特定的文件?

最佳答案

假设您的项目位于名为 project 的目录中,并且您只需要那些触及 project/dirB 的提交。

然后:

git clone project/ subproject/
cd subproject
git filter-branch --prune-empty --subdirectory-filter dirB HEAD 

subproject 现在将包含触及 dirB 的 git 历史。

关于git - 使用 git 只克隆一个子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11834386/

相关文章:

git - 从存储库中检索单个文件

Git 获取远程分支

git - 忽略Git中特定文件中的一行

git - 如何从预接收 Hook 中获取我的分支名称?

git - 在 Git 中检查子目录?

svn - 颠覆 : Query Sparse Checkout Status

linux - git sparse-checkout忽略特定的文件类型

java - 在 Eclipse 中克隆 git 存储库

git - git 如何解析 user.email 和密码来验证用户身份?