Git检出指定目录实践
Posted 肖永威
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git检出指定目录实践相关的知识,希望对你有一定的参考价值。
新建空目录,初始化本地仓库:
E:\\>git init 00workspace
Initialized empty Git repository in E:/00workspace/.git/
配置指定检出目录,也称作稀疏检出。
E:\\>cd 00workspace
启用sparse-checkout
E:\\00workspace>git config core.sparsecheckout true
设置要克隆的仓库的子目录路径, “*” 是通配符,“!” 是反选
E:\\00workspace>echo Customer_Behavior_Analysis >> .git/info/sparse-checkout
注:echo为操作系统(windows/linux)命令,把屏幕(终端)输入文本写入文件,命令格式为:echo 文件内容 >> 文件名,可以是单大于号。
设置远程仓库地址(SSH没有权限,用不了)
E:\\00workspace>git remote add origin ssh://3*.1**.1**.2*:aaai/pluto_code.git
E:\\00workspace>git remote rm origin_sub
E:\\00workspace>git remote add origin_sub ssh://3*.1**.1**.2*/aaai/pluto.git
E:\\00workspace>git remote -v
origin_sub ssh://xiaoyw@3*.1**.1**.2*/aaai/pluto.git (fetch)
origin_sub ssh://xiaoyw@3*.1**.1**.2*/aaai/pluto.git (push)
E:\\00workspace>git remote rm origin_sub
服务器只支持使用HTTP远程访问仓库:
E:\\00workspace>git remote add origin_sub http://3*.1**.1**.2*:8880/aaai/pluto.git
拉入远程指定目录内容:
E:\\00workspace>git pull origin_sub develop
info: detecting host provider for 'http://3*.1**.1**.2*:8880/'...
info: detecting host provider for 'http://3*.1**.1**.2*:8880/'...
info: detecting host provider for 'http://33*.1**.1**.2*:8880/'...
remote: Enumerating objects: 58, done.
remote: Counting objects: 100% (58/58), done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 58 (delta 9), reused 55 (delta 8)
Unpacking objects: 100% (58/58), 9.57 MiB | 279.00 KiB/s, done.
From http://3*.1**.1**.2*/aaai/pluto
* branch develop -> FETCH_HEAD
* [new branch] develop -> origin_sub/develop
其中:sparse-checkout 文件设置:
在sparse-checkout文件中,如果目录名称前带斜杠,如/Customer_Behavior_Analysis/,将只匹配项目根目录下的Customer_Behavior_Analysis目录,如果目录名称前不带斜杠,如Customer_Behavior_Analysis/,则将匹配根目录下所有包括此Customer_Behavior_Analysis名称的目录。
未解决问题?
通过echo创建sparse-checkout文件,如果是中文目录,则不识别,即使使用NodePad++编辑器创建并编辑sparse-checkout文件,使用ASCII码(Windows 10默认是utf-8),仍不识别中文目录名称。
以上是关于Git检出指定目录实践的主要内容,如果未能解决你的问题,请参考以下文章