备注:

本文参考于廖雪峰老师的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。

知识点

  • 配置Git显示颜色git config --global color.ui true

  • .gitignore配置忽略文件,且要提交到版本库

  • git add -f <file>,强制添加filegit check-ignore检查忽略规则

自定义Git

在安装Git时,有对Git进行全局配置,用户名和邮箱(user.nameuser.email)

也可以配置其他选项

  • 配置Git显示颜色
$ git config --global color.ui true

忽略特殊文件

实际开发中,总有一些特殊文件不能提交。比如保存了数据库密码的配置文件等。

但是这些文件创建后,在git status时会显示Untracked files ...,而且不小心添加上后就会被提交。

.gitignore忽略文件

Git中,可以在Git工作区的根目录下,创建一个.gitignore文件,写上需要忽略的文件名,Git就会自动忽略这些文件。

关于不同语言和环境中推荐的忽略文件的配置,可以查看github项目gitignorehttps://github.com/github/gitignore 中示例。

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;

  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;

  3. 忽略带有敏感信息的配置文件,比如存放口令的配置文件。

忽略文件示例

比如,忽略Windows下自动生成的缩略图文件,自定义目录中的Desktop.ini文件,windows自动生成的垃圾文件。

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

比如,忽略Python编译产生的.pyc.pyodist等文件或目录

# 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行规则忽略了该文件。

最新文章

  1. Web应用程序的自动化测试库-FluentAutomation
  2. div在不固定高度的情况下垂直或者水平居中
  3. 操作系统开发系列—解释typedef void (*int_handler) ();
  4. 一行命令搞定node.js 版本升级
  5. js进度条实现
  6. ServletFileUpload(Servlet文件上传)
  7. Vernam密码
  8. 如何调试异步加载的js文件(浏览器调试动态加载js)
  9. Hadoop 停止Job
  10. Gson 基础教程 —— 自定义类型适配器(TypeAdapter)
  11. ACM题目:487-3279
  12. .NET Core实战项目之CMS 第八章 设计篇-内容管理极简设计全过程
  13. easyUI提交不跳转
  14. Linux VNC安装
  15. 第25月第8天 100-Days-Of-ML-Code
  16. Composer使用体验
  17. 【架构】Kubernetes和Spring Cloud哪个部署微服务更好?
  18. elasticsearch-hadoop使用
  19. nested exception is java.lang.IllegalStateException: No persistence units parsed from {classpath*:META-INF/persistence.xml}
  20. CentOS Grub、BASH 故障、解决方法

热门文章

  1. ThinkPHP6 上传图片代码demo
  2. JavaWeb网上图书商城完整项目--day02-10.提交注册表单功能之页面实现
  3. 02 [掌握] redis详情命令
  4. 06[笔记] SpringBoot 删除Redis指定缓存
  5. openstack Rocky 社区版部署1.2 安装ntp service
  6. 深入探究ASP.NET Core异常处理中间件
  7. 《UNIX环境高级编程》(APUE) 笔记第八章 - 进程控制
  8. Docker环境下Java应用的最大内存和堆内存的设置
  9. 数据的编码和解码--java例子
  10. Oracle Solaris 10图文安装