Git的自定义和特殊文件配置
备注:
本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。
知识点
配置Git显示颜色
git config --global color.ui true
.gitignore
配置忽略文件,且要提交到版本库git add -f <file>
,强制添加file
,git check-ignore
检查忽略规则
自定义Git
在安装Git时,有对Git进行全局配置,用户名和邮箱(user.name
和user.email
)
也可以配置其他选项
- 配置Git显示颜色
$ git config --global color.ui true
忽略特殊文件
实际开发中,总有一些特殊文件不能提交。比如保存了数据库密码的配置文件等。
但是这些文件创建后,在git status
时会显示Untracked files ...
,而且不小心添加上后就会被提交。
.gitignore
忽略文件
Git中,可以在Git工作区的根目录下,创建一个.gitignore
文件,写上需要忽略的文件名,Git就会自动忽略这些文件。
关于不同语言和环境中推荐的忽略文件的配置,可以查看github
项目gitignore
:https://github.com/github/gitignore 中示例。
忽略文件的原则是:
忽略操作系统自动生成的文件,比如缩略图等;
忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如
Java
编译产生的.class
文件;忽略带有敏感信息的配置文件,比如存放口令的配置文件。
忽略文件示例
比如,忽略Windows下自动生成的缩略图文件,自定义目录中的Desktop.ini
文件,windows自动生成的垃圾文件。
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
比如,忽略Python
编译产生的.pyc
、.pyo
、dist
等文件或目录
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
上面的文件,加上自定义的文件,就可以得到一个完整的gitignore
文件
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa
- 将
.gitignore
文件提交到Git。
检验
.gitignore
的标准是git status
命令是不是说working directory clean
使用Windows的童鞋注意了,如果你在资源管理器里新建一个
.gitignore
文件,它会非常难以理解地提示你必须输入文件名,但是在文本编辑器里“保存”或者“另存为”就可以把文件保存为.gitignore
。此限制和问题,已经在Win10最新版中不存在了。其他版本和更具体的版本号未测试
.gitignore
文件查看和强制添加
- 当一个文件被
.gitignore
忽略后,便不能添加到git暂存区
$ git add App.class
The following paths are ignored by one of your .gitignore files:
App.class
Use -f if you really want to add them.
- 强制添加忽略的文件
如Git提示,加上-f
参数,可以强制添加文件到Git
$ git add -f App.class
git check-ignore
命令检查忽略规则,从而修改规则
$ git check-ignore -v App.class
.gitignore:3:*.class App.class
Git提示.gitignore
的第3行规则忽略了该文件。
最新文章
- Web应用程序的自动化测试库-FluentAutomation
- div在不固定高度的情况下垂直或者水平居中
- 操作系统开发系列—解释typedef void (*int_handler) ();
- 一行命令搞定node.js 版本升级
- js进度条实现
- ServletFileUpload(Servlet文件上传)
- Vernam密码
- 如何调试异步加载的js文件(浏览器调试动态加载js)
- Hadoop 停止Job
- Gson 基础教程 —— 自定义类型适配器(TypeAdapter)
- ACM题目:487-3279
- .NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程
- easyUI提交不跳转
- Linux VNC安装
- 第25月第8天 100-Days-Of-ML-Code
- Composer使用体验
- 【架构】Kubernetes和Spring Cloud哪个部署微服务更好?
- elasticsearch-hadoop使用
- nested exception is java.lang.IllegalStateException: No persistence units parsed from {classpath*:META-INF/persistence.xml}
- CentOS Grub、BASH 故障、解决方法
热门文章
- ThinkPHP6 上传图片代码demo
- JavaWeb网上图书商城完整项目--day02-10.提交注册表单功能之页面实现
- 02 [掌握] redis详情命令
- 06[笔记] SpringBoot 删除Redis指定缓存
- openstack Rocky 社区版部署1.2 安装ntp service
- 深入探究ASP.NET Core异常处理中间件
- 《UNIX环境高级编程》(APUE) 笔记第八章 - 进程控制
- Docker环境下Java应用的最大内存和堆内存的设置
- 数据的编码和解码--java例子
- Oracle Solaris 10图文安装