克隆git repo的子树/子目录
我在Github上有一个git回购,看起来是这样的:克隆git repo的子树/子目录,git,git-clone,git-subtree,Git,Git Clone,Git Subtree,我在Github上有一个git回购,看起来是这样的: .git/ assets/ tools/ a.sh b.sh c.sh 当然.git文件夹不在版本控制中,但您可以理解。我想将tools/*.sh复制到本地目录,路径如下: ./scripts/git/tools 我当前的目录是一个git repo,它与远程git repo共享完全不同的历史,我只想从远程复制一些文件,不想合并任何内容 我想我可以这样做: git clone --path assets/tool
.git/
assets/
tools/
a.sh
b.sh
c.sh
当然.git文件夹不在版本控制中,但您可以理解。我想将tools/*.sh复制到本地目录,路径如下:
./scripts/git/tools
我当前的目录是一个git repo,它与远程git repo共享完全不同的历史,我只想从远程复制一些文件,不想合并任何内容
我想我可以这样做:
git clone --path assets/tools/*.sh "$remote_repo" ./scripts/git/tools
但是这个命令不是真的,有没有什么命令可以用来做这个
我唯一能想到的另一种方法是将整个repo克隆到某个临时目录,然后将文件复制过来,但这并没有那么有趣
我唯一能想到的另一种方法是将整个repo克隆到某个临时目录,然后将文件复制过来,但这并没有那么有趣
然而,考虑到即使部分克隆(如果存在的话)仍将保留资产/工具路径结构,这一点更可取。你可以先做一个测试,然后复制你的文件 在Git2.17/2.18中,您可以尝试只克隆子文件夹,但前提是远程服务器确实支持此新功能
另一个更经典的选项是使用(如果远程存储库支持)最新标头的存档(zip文件):请参见“”,但应用于存档的子文件夹,而不是文件。对于Github repo,您可以使用 工具 按如下方式安装:
git clone --path assets/tools/*.sh "$remote_repo" ./scripts/git/tools
pip安装git+git://github.com/HR/github-clone#egg=ghclone
然后像这样使用它:
git clone --path assets/tools/*.sh "$remote_repo" ./scripts/git/tools
ghclonehttps://github.com/HR/Crypter/tree/dev/app
在学习如何削减大额回购的肥肉时,这可能是一个很有用的复制品:我要添加的唯一一件事是可能做一个浅层克隆:git克隆--深度1--分支[分支机构名称]--单一-branch@johnb003我同意:这将真正限制克隆的数据量。