
Git拉取子目录
很多时候,我们不要拉取一整个项目,只需要拉取项目中的某个子目录。例如我使用go进行后端开发,需要将前端的静态文件打包进来作为一个单独的文件发布。这种情况,我就可以要求前端的小伙伴将编译后的静态文件也上传到git服务器,然后我仅仅将他编译后的静态文件拉到我的项目中就行了,其它的前端源文件我就不需要了。
初始化空库
mkdir <repo>
创建一个文件夹,示例:
$ mkdir statics
初始化git
$ cd statics
$ git init
已初始化空的 Git 仓库于 /home/trevanlye/work/vscode/gdpu/build/statics/.git/
添加远程库
git remote add -f origin <url>
,示例:
$ git remote add -f origin git@github.com:trevanlye/dpufront.git
更新 origin 中
remote: Enumerating objects: 3827, done.
remote: Counting objects: 100% (3625/3625), done.
remote: Compressing objects: 100% (3461/3461), done.
remote: Total 3827 (delta 2574), reused 180 (delta 109), pack-reused 202
接收对象中: 100% (3827/3827), 69.50 MiB | 2.35 MiB/s, 完成.
处理 delta 中: 100% (2655/2655), 完成.
来自 github.com:trevanlye/dpufront
* [新分支] master -> origin/master
* [新标签] 20220307_添加设备前 -> 20220307_添加设备前
* [新标签] V2-20210915 -> V2-20210915
开启sparse checkout
设置 core.sparsecheckout 为 true:
$ git config core.sparseCheckout true
设置需要拉取的子目录
echo "some/dir/" >> .git/info/sparse-checkout
,示例:
$ echo "dist/*" >> .git/info/sparse-checkout
如果有多个子目录,则可以使用子目录路径替代“some/dir/”后多次执行该指令。
将子目录拉取到本地
origin的名称对应远程库自定义的名称,每次执行都需要完成的代码,不能仅仅执行“git pull”。
$ git pull origin master
来自 github.com:trevanlye/dpufront
* branch master -> FETCH_HEAD
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果