git忽略和模块

.gitignore

说明:提交忽略规则文件

位置

  • 项目各个目录
  • .git/info/exclude
  • git config --global core.excludesfile ~/.gitignore

优先级

git检查忽略规则的时候有多个来源,它的优先级如下(由高到低):

  1. 从命令行中读取可用的忽略规则;
  2. 当前目录定义的规则;
  3. 父级目录定义的规则,依次递推;
  4. $GIT_DIR/info/exclude 文件中定义的规则;
  5. core.excludesfile中定义的全局规则。

语法

  • .gitigore 中,每一行指定一个忽略规则 ;
  • 标准的glob模式匹配;
  • 井号#表示注释信息;
  • 星号*通配多个字符,双星**匹配任意中间目录;
  • 问号?通配单个字符;
  • 方括号[]匹配列表中任何一个字符
  • 感叹号!不忽略匹配到的文件或目录

简单说明

#               表示此为注释,将被Git忽略
*.a             表示忽略所有 .a 结尾的文件
!lib.a          表示但lib.a除外
!src/**/*.o     表示不忽略src目录(递归)下.o文件

.gitmodules

[submodule "package/googletest"]
	path = package/googletest
	url = ***.git
	branch = develop
[submodule "package/qt"]
	path = package/qt
	url = ***.git

删除子模块

基本原理

  1. 删除模块目录
  2. 删除.gitmodules中配置字段
  3. 删除.git/modules对应文件夹
  4. 删除.git/config中配置字段
  5. 删除索引区记录

实际操作

  •  git submodule deinit -f <path> 此步骤完成了基本原理中4,并且完成了1步骤克隆下来的文件,但会残留文件
  •  git reset --hard HEAD 或者 git rm --cached <路径> git rm --cached  .gitmodules,完成步骤5
  •  删除.git/modules对应文件夹和删除.gitmodules中配置字段

参考

Git忽略提交规则 - .gitignore配置运维总结

submodule官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值