当前位置:   article > 正文

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

git拉取指定文件夹

因为要做数据库自动更新,需要拉取Gitlab项目中/bm-server-biz/docs目录下的表更新sql文件,其他的都不需要,这时候可以利用git的“sparse checkout”方法(设置稀疏检出)来实现。

1、在项目目录下git 初始化

  1. [root@xcc-demo-113-160 lsntest]# git init
  2. 已初始化空的 Git 仓库于 /home/lsntest/.git/
  3. [root@xcc-demo-113-160 lsntest]# ls
  4. [root@xcc-demo-113-160 lsntest]# ls -a
  5. . .. .git

 2、修改.git文件夹里面的 config 文件 .git/config ,启用 sparse checkout(稀疏检出)

  1. [root@xcc-demo-113-160 .git]# cat config
  2. [core]
  3. repositoryformatversion = 0
  4. filemode = true
  5. bare = false
  6. logallrefupdates = true
  7. symlinks = false
  8. ignorecase = true
  9. sparsecheckout = true
  10. [remote "origin"]
  11. url = http://git.xxxxx.com/xxxx/xxxx.git
  12. fetch = +refs/heads/*:refs/remotes/origin/*

3、在 .git/info 创建 sparse-checkout 文件,在文件里面指定需要拉取的目录或内容

  1. [root@xcc-demo-113-160 info]# cat sparse-checkout
  2. /bm-server-biz/docs/表变更update.sql

4、开始拉取 git pull (第一次需要输入账号密码)

  1. [root@xcc-demo-113-160 lsntest]# git pull
  2. remote: Enumerating objects: 106, done.
  3. remote: Counting objects: 100% (106/106), done.
  4. remote: Compressing objects: 100% (71/71), done.
  5. remote: Total 4636 (delta 24), reused 90 (delta 19), pack-reused 4530
  6. 接收对象中: 100% (4636/4636), 351.05 MiB | 54.81 MiB/s, 完成.
  7. 处理 delta 中: 100% (2220/2220), 完成.
  8. 来自 git.bm.com:bm/bm-api-server
  9. * [新分支] master -> origin/master
  10. * [新分支] bug_801 -> origin/bug_801
  11. * [新标签] 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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/898154
推荐阅读
相关标签
  

闽ICP备14008679号