忽略特殊文件

忽略特殊文件

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758404317281e54b6f5375640abbb11e67be4cd49e0000

有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定不爽。

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

不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
  3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

举个例子:

假设你在Windows下进行Python开发,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了。

有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了:

$ 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. 

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

$ git add -f App.class 

或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查:

$ git check-ignore -v App.class .gitignore:3:*.class App.class 

Git会告诉我们,.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。

小结

  • 忽略某些文件时,需要编写.gitignore

  • .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113323.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月20日 下午1:00
下一篇 2021年10月20日 下午1:00


相关推荐

  • 软件测试外包公司为什么没人去?有怎样的好处坏处?

    软件测试外包公司为什么没人去?有怎样的好处坏处?一 前言 什么是软件测试外包随着最近 10 年创业风气的发起 已经涌起创业项目外包公司的兴起 已经不仅仅局限为了降低成本 更多的是为了解决自己雇佣技术人员或者无法管理技术人员的难题 那么外包是什么意思呢 似乎大家对外包都闻之色变 这里我们详细的认识一下什么是外包 外包类似中介派遣公司或者叫做劳务输出公司 就是我们公司把你招聘进来 但是又把你派到其他公司 甲方 工作 但是最终你的劳务合同是在外包公司 和甲方没关系 例如 面试去软通动力的测试岗位 最后确和今日头条签工作合同 这种情况就属于外包公司 外包

    2026年3月18日
    1
  • pycharm能配置c语言程序,pycharm设置pytest运行程序

    pycharm能配置c语言程序,pycharm设置pytest运行程序mysql5 分钟倒计时 select now DATE ADD create time INTERVAL5MIN fromecs sms cachewhereno betweencre TFS2010 迁移 重装 还原步骤 1 签入所有代码 2 停止 TFS 服务 运行命令行 并将路径切换到 TFS 安装路径 C Progr

    2026年3月27日
    2
  • centos7 安装图形界面

    centos7 安装图形界面本人用VMware版本15.0.2build-10952284(关系不大)开启前要在虚拟机–>设置–>3D图形如下如果是云服务器跳过此步yum下载图形界面软件yumgroupinstall”GNOMEDesktop””GraphicalAdministrationTools”修改配置ln-sf/lib/systemd/system…

    2022年5月16日
    44
  • 任务调度器有哪些_本地计算机上的task scheduler

    任务调度器有哪些_本地计算机上的task schedulerTaskScheduler可以看做任务调度的客户端,负责任务的提交,并且请求集群管理器对任务调度。TaskScheduler的类UML图如下,针对不同部署方式会有不同的TaskScheduler与SchedulerBackend进行组合。TaskScheduler类负责任务调度资源的分配,SchedulerBackend负责与Driver、Executor通信收集Executor上分配给该应用的资…

    2022年10月11日
    6
  • AUC计算公式及python代码

    AUC计算公式及python代码前言 auc 的主要用于分析二分类的准确率 并且主要是对回归任务做分析 当然分类也阔以 计算原理一个原理是 roc 曲线的面积 但是比较复杂 代码不好实现所以基本上不会那么写 还一个是基于 rank 的公式计算 原理比较复杂 本文介绍最简单的实现 计算原理 遍历正负样本对正样本的概率大于负样本 auc 1 正样本的概率等于负样本 auc 0 5 正样本的概率小于负样本 auc 0 遍历完毕 auc auc 正负样本对数举个例子 label 1 0 0 pre

    2026年3月26日
    2
  • “龙虾”卸载指南,来了!被“龙虾”创始人质疑抄袭?

    “龙虾”卸载指南,来了!被“龙虾”创始人质疑抄袭?

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号