赞
踩
因为要做数据库自动更新,需要拉取Gitlab项目中/bm-server-biz/docs目录下的表更新sql文件,其他的都不需要,这时候可以利用git的“sparse checkout”方法(设置稀疏检出)来实现。
1、在项目目录下git 初始化
- [root@xcc-demo-113-160 lsntest]# git init
- 已初始化空的 Git 仓库于 /home/lsntest/.git/
- [root@xcc-demo-113-160 lsntest]# ls
- [root@xcc-demo-113-160 lsntest]# ls -a
- . .. .git
2、修改.git文件夹里面的 config 文件 .git/config
,启用 sparse checkout(稀疏检出)
- [root@xcc-demo-113-160 .git]# cat config
- [core]
- repositoryformatversion = 0
- filemode = true
- bare = false
- logallrefupdates = true
- symlinks = false
- ignorecase = true
- sparsecheckout = true
- [remote "origin"]
- url = http://git.xxxxx.com/xxxx/xxxx.git
- fetch = +refs/heads/*:refs/remotes/origin/*
-
3、在 .git/info 创建 sparse-checkout 文件,在文件里面指定需要拉取的目录或内容
- [root@xcc-demo-113-160 info]# cat sparse-checkout
- /bm-server-biz/docs/表变更update.sql
4、开始拉取 git pull (第一次需要输入账号密码)
- [root@xcc-demo-113-160 lsntest]# git pull
- remote: Enumerating objects: 106, done.
- remote: Counting objects: 100% (106/106), done.
- remote: Compressing objects: 100% (71/71), done.
- remote: Total 4636 (delta 24), reused 90 (delta 19), pack-reused 4530
- 接收对象中: 100% (4636/4636), 351.05 MiB | 54.81 MiB/s, 完成.
- 处理 delta 中: 100% (2220/2220), 完成.
- 来自 git.bm.com:bm/bm-api-server
- * [新分支] master -> origin/master
- * [新分支] bug_801 -> origin/bug_801
- * [新标签] v0.1 -> v0.1
或者通过bash执行命令:
git init
git config core.sparsecheckout true
git remote add origin 仓库地址
echo 文件目录 >> .git/info/sparse-checkout
git pull origin master
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。