文章目录
- Git进阶
-
- 1.更新代码
- 2.只拉取Git仓库的部分目录内容
-
- 2.1初始化空白仓库
- 2.2配置git仓库
- 2.3开启稀疏检出属性
- 2.4设置指定拉取的目录
- [2.5 更新代码](#2.5 更新代码)
Git进阶
1.更新代码
基于上一篇文章CentOS系统环境搭建(二十一)------安装git并且配置ssh拉取github代码,我们已经给本地拉取了一个tencent项目。我放在我电脑的/srv/tencent/code/tencent
。
那么就两步命令。
bash
cd /srv/tencent/code/tencent
拉取
bash
git pull
补充一下拉取前的其他指令:
- 查看本地分支文件信息,确保更新时不产生冲突
bash
git status
- 查看当前分支情况
bash
git branch
2.只拉取Git仓库的部分目录内容
这里是为了你的前端,我们往往只需要dist文件夹,源码什么的我们不需要,因此我这样做,如果你觉得这好麻烦,你就全拉取好了,这部分不用学。
官方名称:稀疏检出,如果你只想检出项目的部分内容,请按照我的步骤往下做。
2.1初始化空白仓库
在我的/srv/tencent/code
下创建空文件夹
bash
mkdir page
初始化git仓库
bash
git init
2.2配置git仓库
设置拉取remote,写上你的项目url
bash
git remote add -f origin git@github.com:PerCheung/mytencentpage.git
2.3开启稀疏检出属性
bash
git config core.sparsecheckout true
2.4设置指定拉取的目录
配置规则:
-
目录名称前带斜杠,如/docs/,将只匹配项目根目录下的docs目录。
-
目录名称前不带斜杠,如docs/,其他目录下如果有同名目录,也会包括进来。
-
多级目录,如docs/chapter1/,则不管前面是否带有斜杠,都只匹配项目根目录下的目录,如client/docs/chapter1/是不能被匹配。
-
通配符,*是通配符,!是反选,
!/docs/
就是不拉取docs目录。
如下,我想要只拉取项目的dist。
操作步骤:
-
编辑.git/info/sparse-checkout
bashvim .git/info/sparse-checkout
-
看看我写了什么。
bashcat .git/info/sparse-checkout
bash/dist/
试一下行不行。
bash
git pull origin main
2.5 更新代码
bash
cd /srv/tencent/code/page
bash
git pull origin main