我在Github上有一个git repo,看起来像这样:
.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
但是该命令不是真实的,是否可以使用某些命令来执行此操作?
我能想到的唯一另一种方法是将整个仓库克隆到某个临时目录,然后将文件复制过来,但这并不是那么有趣。
我能想到的唯一另一种方法是将整个仓库克隆到某个临时目录,然后将文件复制过来,但这并不是那么有趣。
但是,考虑到即使存在部分克隆,它仍然会保留资产/工具路径结构,因此这是可取的。
您可以在其他地方进行稀疏签出,然后复制文件。
使用Git 2.17 / 2.18,您可以尝试进行部分克隆或狭窄克隆,仅克隆一个子文件夹,但这假设远程服务器确实支持此新功能。
另一个更经典的选择是使用(如果远程存储库支持)最新HEAD的归档文件(zip文件):请参阅“如何从git存储库中仅检出一个文件('sparse checkout')? ”,但适用于档案的子文件夹,而不是文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句