摘要:工作中,总是会有一些特殊需求或场景,只希望从Git的远程仓库里检出或拉取指定的文件夹或部分文件出来。Git 1.7.0后,可以使用sparse Checkout(稀疏检出)模式实现。
工作中,总是会有一些特殊需求或场景,只希望从Git的远程仓库里检出或拉取指定的文件夹或部分文件出来。Git 1.7.0后,可以使用sparse Checkout(稀疏检出)模式实现。
Git是一种版本控制系统,它可以记录文件在不同时间点的版本变化并且跟踪文件的更改历史。它最初是由Linus Torvalds为了管理linux内核的开发而创建的。现在,Git已经成为了许多开发者进行协作开发和版本控制的首选工具之一。
Git具有分支管理、代码合并等丰富的功能,可以帮助团队协同工作,提高项目的质量和效率。
如果Windows操作系统,同时装了git Bash的话,也可以打开Git Bash执行命令
# 在D:/temp打开命令行窗口或Git Bash,新建项目x-archive目录,并进入到x-archive目录下mkdir x-archive && cd x-archivegit initInitialized empty Git repository in D:/temp/x-archive/.git/git remote add -f main https://gitee.com/xxx/x-archive.gitUpdating mainremote: Enumerating objects: 52, done.remote: Counting objects: 100% (52/52), done.remote: Compressing objects: 100% (39/39), done.remote: Total 52 (delta 9), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (52/52), done.From https://gitee.com/xxx/x-archive* [new branch] main -> main/main* [new tag] V1.0.0 -> V1.0.0* [new tag] V1.0.1 -> V1.0.1执行后会列出远程仓库中的分支以及版本号等信息,分支名称等信息后面会用到
设置sparse checkout稀疏检出模式,允许检出在下一步指定的文件夹或部分文件
git config core.sparsecheckout true# 指定检出archive/config目录下的application.yaml,可以使用通配符,比如*,也可以使用!表示反选,# 例如 archive/或archive 表示可以检出archive目录下所有文件夹和文件echo archive/config/application.yaml >> .git/info/sparse-checkout可以查看设置的内容
# Windows操作系统如果使用Git Bash打开命令窗口,也可以执行下面命令查看cat .git/info/sparse-checkoutarchive/config/application.yaml# 从远程仓库main的main分支中检出指定的文件夹或部分文件git fetchgit pull main mainFrom https://gitee.com/xxx/x-archive* branch main -> FETCH_HEAD支持tree的控制台(git bash可能需要另外安装,window或linux控制台)可以直接使用tree命令查看检出的文件夹或文件
# 在window的控制台中,进入到项目目录,输入tree /F命令D:\temp\x-archive>tree /FD:.└─archive└─configapplication.yaml来源:Bruce.CH
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!