Git 忽略一些文件不加入版本控制

Git 忽略一些文件不加入版本控制

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法。这个文件每一行保存了一个匹配的规则例如:

# 此为注释 – 将被 Git 忽略

            *.a       # 忽略所有 .a 结尾的文件
            !lib.a    # 但 lib.a 除外
            /TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
            build/    # 忽略 build/ 目录下的所有文件

            doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

    这样设置了以后 所有的 .pyc 文件都不会添加到版本库中去。

    另外 git 提供了一个全局的 .gitignore,你可以在你的用户目录下创建 ~/.gitignoreglobal 文件,以同样的规则来划定哪些文件是不需要版本控制的。

需要执行 git config –global core.excludesfile ~/.gitignoreglobal来使得它生效。

其他的一些过滤条件

    * ?:代表任意的一个字符
    * *:代表任意数目的字符
    * {!ab}:必须不是此类型
    * {ab,bb,cx}:代表ab,bb,cx中任一类型即可
    * [abc]:代表a,b,c中任一字符即可

    * [ ^abc]:代表必须不是a,b,c中任一字符

    由于git不会加入空目录,所以下面做法会导致tmp不会存在 tmp/*             //忽略tmp文件夹所有文件

    改下方法,在tmp下也加一个.gitignore,内容为
                        *
                        !.gitignore
    还有一种情况,就是已经commit了,再加入gitignore是无效的,所以需要删除下缓存
                        git rm -r –cached ignore_file

 

注意: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。

    正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。
    git update-index –assume-unchanged PATH    在PATH处输入要忽略的文件。

    另外 git 还提供了另一种 exclude 的方式来做同样的事情,不同的是 .gitignore 这个文件本身会提交到版本库中去。用来保存的是公共的需要排除的文件。而 .git/info/exclude 这里设置的则是你自己本地需要排除的文件。 他不会影响到其他人。也不会提交到版本库中去。

    .gitignore 还有个有意思的小功能, 一个空的 .gitignore 文件 可以当作是一个 placeholder 。当你需要为项目创建一个空的 log 目录时, 这就变的很有用。 你可以创建一个 log 目录 在里面放置一个空的 .gitignore 文件。这样当你 clone 这个 repo 的时候 git 会自动的创建好一个空的 log 目录了

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 贴片电阻丝印是什么意思「建议收藏」

    贴片电阻丝印是什么意思「建议收藏」贴片电阻上的数字是什么意思?贴片电阻是电路原理中最常见的电子器件,在一块电路板上使用量较大的将会便是电阻器和电容器了。电阻由于体型小,非常容易设备电焊焊接,能极大地提升批量生产高效率、减少错误率、控制成本,因此应用愈来愈普遍。贴片电阻表层一般都是印着丝印油墨,其丝印油墨带表了不一样的电阻值信息内容,电阻的丝印油墨怎样讲解。普遍的电热丝印一般有这几类状况:1)含有三位数据的丝印油墨;2)2)含有四位数据的丝印油墨;3)3)含有英文字母R的丝印油墨;4)4)含有数据和英文字母混和的丝印油墨。带有

    2022年8月21日
    6
  • 最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)

    最大匹配、最小顶点覆盖、最大独立集、最小路径覆盖(转)

    2022年2月4日
    52
  • visio的安装教程2019_anaconda安装教程

    visio的安装教程2019_anaconda安装教程Visio的安装教程  Visio使你能够将复杂的文本和表转换为很难理解的可视化图表,以便快速传达信息。有许多类型的Visio图表,包括组织结构图、网络图、工作流和家庭或office计划。Visio入门可以分为三个基本步骤:使用模板、排列和连接形状以及使用文本修改形状。教程矢量图:https://www.iconfont.cn/模板:https://huaban.c…

    2025年7月31日
    2
  • 我的相册新增元旦照片二十余张(共享万岁)

    我的相册新增元旦照片二十余张(共享万岁)Chinaphotoshop.Net 2006年年历样张(以前用C#写的) 世界之窗1

    2022年7月17日
    23
  • vim的配置_vim全局配置

    vim的配置_vim全局配置vim前端全家桶配置指南简介因为写了一段时间前端,一直在考虑vim是否能够替代前端无敌编辑器vscode,最后发现只能高仿,自己配置的性能跟vscode下的vim模式差不多,灵活性更高点,喜欢折腾的朋友可以试试,否则用vscodevim模式吧,已经神一般的完美了(不是高级黑-。-)。这套插件目前包含了代码自动补全,目录树,js/jsxeslint自动格式化,小黑屋模式,文件搜索ctr…

    2022年9月30日
    4
  • 项目总结 — RFID 读写器上位机软件

    项目总结 — RFID 读写器上位机软件物联网方向的课程项目:RFID读写器上位机软件,是一个基于MFC的软件,通过与连接的设备(这里是读卡器)与IC卡进行数据的交换,举个例子来说:校园卡,公司的门禁卡等等,这个属于物联网的终端信息交互的一个流程。我理解这里主要是两个大的模块:一个是数据的收发,还有一个是界面显示;数据的收发就是通过上位机软件与下位机进行信息的交互,数据的发送具体在项目中就是写卡操作,数据的接收具体在项目中就是读卡操作。

    2022年5月20日
    93

发表回复

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

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