0


git 拉取项目指定目录或者指定文件

因为要做数据库自动更新,需要拉取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

标签: git github

本文转载自: https://blog.csdn.net/qq_45754184/article/details/130803726
版权归原作者 论如何成为一个优秀的码农 所有, 如有侵权,请联系我们删除。

“git 拉取项目指定目录或者指定文件”的评论:

还没有评论