网站首页 > 技术文章 正文
Git中有一个非常重要的一个文件-----.gitignore
今天给大家免费送一个.gitignore忽略文件配置清单。
大家一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。
============华丽的分割线============
当然如果已经push了怎么办?当然也有解决方法,如下:
有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
?
============华丽的分割线============
在版本管理的根目录下(与.Git文件夹同级)创建一个 .gitignore(gitignore是隐藏文件,所以前面有个点)
创建命令:gitignore - Specifies intentionally untracked files to ignore
首先要强调一点,这个文件的完整文件名就是“.gitignore”,注意最前面有个“.”。这样没有扩展名的文件在Windows下不太好创建,这里给出win7的创建方法:创建一个文件,文件名为:“.gitignore.”,注意前后都有一个点。保存之后系统会自动重命名为“.gitignore”。一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。实际项目中,很多文件都是不需要版本管理的,比如Python的.pyc文件和一些包含密码的配置文件等等。
应用实例(摘自互联网)
项目中有clist.h clist.c main.c三个文件,编译执行后,生成了三个文件 clist.o main.o main(执行文件)。这三个文件是不需要进行版本管理的,所以需要忽略这些文件,使用 git stauts查看后,发现这三个文件也是处于 Untracked files状态。而实际上我们是想忽略他。
使用gitignore文件来解决这个问题,步骤是:
[plain] view plain copy
- S1: touch .gitignore #创建gitignore隱藏文件
- S2: vim .gitignore #编辑文件,加入指定文件
- #下面是我的gitignore文件的内容
- #忽略gitignore文件
- .gitignore
- #忽略后缀名为.o和.a的文件
- *.[oa]
- #显示指定忽略名称为main的文件
- main
文件.gitignore的格式规范:
A:#为注释
B:可以使用shell所使用的正则表达式来进行模式匹配
C:匹配模式最后跟"/"说明要忽略的是目录
D:使用!取反(例如目录中包含 test.a,并且gitignore文件中包含 *.[oa],如果在文件中加入 !test.a 表明忽略除test.a文件以外的后缀名为.a或者.o的文件)
配置完.gitignore文件后,执行git status命令,会发现那三个文件不再是Untracked files了,也就完成了忽略指定文件的功能。
生产配置大奉送
栗子
# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
.gitignore最强配置清单 如下:
/gradle/wrapper/gradle-wrapper.properties
##----------Android----------
# build
*.apk
*.ap_
*.dex
*.class
bin/
gen/
build/
# gradle
.gradle/
gradle-app.setting
!gradle-wrapper.jar
build/
local.properties
##----------idea----------
*.iml
.idea/
*.ipr
*.iws
# Android Studio Navigation editor temp files
.navigation/
##----------Other----------
# osx
*~
.DS_Store
gradle.properties
- 上一篇: Git数据迁移:迁移代码到新仓库(git版本库迁移)
- 下一篇: 用git管理版本,你必须知道的事情
猜你喜欢
- 2024-10-07 如何编写gitignore文件(git怎么用)
- 2024-10-07 Git 工具 - 子模块(github 子模块)
- 2024-10-07 用git管理版本,你必须知道的事情
- 2024-10-07 Git数据迁移:迁移代码到新仓库(git版本库迁移)
- 2024-10-07 收藏就行了:最全git总结(gitjournal)
- 2024-10-07 程序员必须掌握版本控制的工具 --- git(一)
- 2024-10-07 Github怎么上传超过100M的大文件?
- 2024-10-07 Git最全总结(git ci)
- 2024-10-07 Git使用的小技巧(git的使用超详细版教程)
- 2024-10-07 解决.gitignore不起作用的办法(gitbush)
- 10-02基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- 10-02Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- 10-02AWD-LSTM语言模型是如何实现的_lstm语言模型
- 10-02NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 10-02使用ONNX和Torchscript加快推理速度的测试
- 10-02tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- 10-02Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- 10-02Gateway_gateways
- 最近发表
-
- 基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- AWD-LSTM语言模型是如何实现的_lstm语言模型
- NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 使用ONNX和Torchscript加快推理速度的测试
- tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- Gateway_gateways
- Coze开源本地部署教程_开源canopen
- 扣子开源本地部署教程 丨Coze智能体小白喂饭级指南
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)