Git提交时使用.gitignore文件忽略特殊文件

框架目录下基本上都会有一个.gitignore文件,比如我们常用的 ThinkPHP5 框架,这个文件有什么用呢?

在工作中或者日常开发中,我们使用 Git 进行开发上传至 Github 等托管平台,有些时候,我们必须把某些文件放到 Git 的工作目录中,但是又不能提交它们,比如保存了数据库密码的配置文件、ide 的配置文件等等,不然每次查看状态都有未监视的文件Untracked files ...,有强迫症的话肯定不舒服,而且每次都要取消掉这些文件的提交

庆幸的是 Git 考虑到了大家的感受,这个问题解决起来也很简单,在 Git 工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git 就会自动忽略这些文件

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如ThinkPHP5框架产生的runtime文件
  3. 忽略你自己的带有敏感信息的配置文件,比如ThinkPHP5框架根目录下的.env配置数据库文件

举个栗子 ?

使用 ThinkPHP5 框架进行开发,使用PHPStorm撸码,会自动在项目根目录下生成.idea文件,还有.env配置数据库文件,以及runtime自动生成文件,因此需要忽略这些文件

.idea
.env
runtime
.git

最后一步就是把.gitignore也提交到 Git,就完成了!当然检验.gitignore的标准是git status命令是不是说nothing to commit, working tree clean

有些时候,想添加一个文件到 Git 的话,但发现添加不了,原因就是这个文件被.gitignore忽略了,会提示如下错误

$ git add .idea
The following paths are ignored by one of your .gitignore files:
.idea
Use -f if you really want to add them.

如果你确实想添加该文件,可以用-f强制添加到 Git

$ git add -f .idea

所以在使用 Git 的时候想要忽略某些文件时,需要编写.gitignore

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:Git提交时使用.gitignore文件忽略特殊文件

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏华仔的技术笔记

使用git命令方式将本地工程上传到Gitlab或Github

7377
来自专栏HTML5学堂

Git与通过Git添加提交文件

HTML5学堂-利利:前面几个礼拜,我们比较全面的介绍讲解了关于AJAX中相对比较高级的知识 - 跨域。本周周三的文章,想为大家介绍一款工具——Git。如果开发...

3757
来自专栏从零开始学自动化测试

appium+python自动化44-appium命令行模式

appium desktop有个客户端版本,每次运行脚本的时候都要去双击启动才能运行,很显然不太方便,影响效率。那么有没什么办法不启动桌面程序就能运行呢,比如c...

1132
来自专栏PhpZendo

Apache Kafka 在 Windows 系统上设置与运行教程

手把手教你在 Windows 系统安装运行 Apache Zookeeper 和 Apache Kafka 服务。

1852
来自专栏用户画像

MAC 安装mysql

一、下载安装包 https://dev.mysql.com/downloads/mysql/

1212
来自专栏古时的风筝

Django集成百度富文本编辑器uEditor

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码。 首先...

4839
来自专栏草根专栏

Git基本命令 -- 创建Git项目

在这里下载git: https://git-scm.com/ 安装的时候, 如果是windows系统的话, 可以勾选unix的命令行工具, 这样在windows...

2907
来自专栏北京马哥教育

只需五步,完美利用命令行工具创建LinuxMac系统下的网站备份

创建网站备份应该是一个网站管理员最为重要的日常工作之一。但现实情况是,备份这一步往往被很多人忽略,也就是说仍然有很多网管的网站安全意识较低。 所有的Linux/...

4539
来自专栏kevin-blog

ubuntu下安装node版本管理工具NVM

nvm是nodejs的版本管理工具,因为nodejs编译非常麻烦,然后编译上有些又需要不同的版本,nvm就应运而生了,nvm是一个可以让你在同一台机器上安装和切...

1720
来自专栏IT米粉

hexo——轻量、简易、高逼格的博客

写blog虽然经历了N多不同时代的产品,恒久不变的始终是自己无人问津的网站。虽然没几个人看,还是隔断时间就要折腾一下。从最开始的wordpress,到tale,...

2922

扫码关注云+社区

领取腾讯云代金券