如何将Git仓库中build/static目录内容同步到本地/var/www/test根目录?
解决方法
方法1:直接提取文件(省事,无需本地仓库)
不用在本地创建Git仓库,直接从远程仓库把build/static下的所有内容拉到/var/www/test/目录:
cd /var/www/test/ git archive --remote=<repo_address> master:build/static | tar -x
执行完就能直接得到/var/www/test/static的目录结构,一步到位。
方法2:调整现有本地仓库(适合后续需要更新的场景)
如果想保留本地仓库方便后续拉取更新,按以下步骤操作:
- 先删除之前拉错的
build目录:
cd /var/www/test/ rm -rf build/
- 修改稀疏检出规则并配置路径映射:
# 开启cone模式(Git 2.25及以上版本支持) git config core.sparseCheckout true git config sparseCheckout.cone true # 清空原有检出规则 echo "" > .git/info/sparse-checkout # 设置只拉取build/static,排除build下其他内容 echo "build/static/" >> .git/info/sparse-checkout echo "!build/" >> .git/info/sparse-checkout # 配置路径重写,将远程的build/static映射成本地的static git filter-repo --to-subdirectory-filter static --path build/static/
如果没安装git-filter-repo,先通过对应包管理器安装(比如Ubuntu用apt install git-filter-repo,Mac用brew install git-filter-repo)。
内容的提问来源于stack exchange,提问作者Andrew
相关产品推荐
相关产品推荐

