Git 拉取子目录
code:
## step 1 :初始化空库
[root@vm_test backup]# mkdir devops
[root@vm_test backup]# cd devops/
[root@vm_test devops]# git init #初始化空库
## step 2 : 拉取remote的all objects信息
[root@vm_test devops]# git remote add -f origin <url> #拉取remote的all objects信息 “origin”这个名称可以自定义
## step 3 : #3.1 开启sparse clone, #3.2 设置需要pull的目录 devlops
[root@vm_test devops]# git config core.sparsecheckout true #开启sparse clone
[root@vm_test devops]# echo "devops/*" >> .git/info/sparse-checkout #设置需要pull的目录,*表示所有,!表示匹配相反的 ".git/info/sparse-checkout" 是配置文件,通过该命令将配置写入里面
## step 4 : # 将origin 端,由第三步(文件 .git/info/sparse-checkout)设置的 目录下的文件 pull 到本地
[root@vm_test devops]# git pull origin master ## “origin” 对应 step2 自定义 的名称 每次执行需要完整的代码, 仅仅执行“git pull” 不行
## OK 啦!
扩展
# echo 输出命令 相当于print
# echo "" > 输出重定向, 比如使用该命令将某个字符写入文件,会覆盖文件之前的内容
echo hello A > tmp.txt # 将字符串输出重定向,当前目录没有tmp.txt,则创建tmp.txt,并将字符串输出到tmp.txt文件中
tmp.txt内容:hello A
echo hello B > tmp.txt # 将字符串输出重定向, 当前目录存在tmp.txt,则将tmp.txt内容替换成输出的字符串
tmp.txt内容:hello B
# echo "" >> 追加重定向
echo hello C >> tmp.txt
将字符串输出追加重定向,当前目录存在tmp.txt,则将tmp.txt的内容后面追加输出的字符串
tmp.txt内容:hello B hello C