Git如何检出指定目录或文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git如何检出指定目录或文件相关的知识,希望对你有一定的参考价值。

参考技术A 1、git init (初始化git,生成.git文件)

2、git config core.sparsecheckout true (打开 sparse checkout(稀疏检出)开关,如果要关闭稀疏检出,要重置为false即可)

3、git xx >> .git/info/sparse-checkout  (xx为配置检出的git远程仓库的文件夹)

4、git remote -v  (列出详细信息,在每一个名字后面列出其远程url)

5、git remote add origin http://xxxx (配置远程仓库路径)

6、git pull origin master (检出该远程仓库下的指定目录或文件)

1、cat .git/info/sparse-checkout (查看指定目录或文件是否配置成功)

2、config --list(查看 sparse checkout(稀疏检出)开关 是否打开)

1、git config core.sparsecheckout false

2、rm -rf .git/info/sparse-checkout  (移除 .git/info/sparse-checkout 文件)

到此所有操作完成

感谢原文 Git如何检出指定目录或文件 - liangzai_cool的主页

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如何检出指定目录或文件的主要内容,如果未能解决你的问题,请参考以下文章

Git sparse-checkout 检出指定目录或文件

Git检出指定目录实践

git 指定目录 拉取文件

Git检出指定目录实践

Git检出指定目录实践

idea针对git相关的操作