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 目录了

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • [TopCoder] SRM 580 DIV 2, 250p, 500p, 1000p, Solution

    [TopCoder] SRM 580 DIV 2, 250p, 500p, 1000p, Solution

  • nginx和keepalived实现nginx高可用_weblogic负载均衡

    nginx和keepalived实现nginx高可用_weblogic负载均衡一、Keepalived简要介绍Keepalived是一种高性能的服务器高可用或热备解决方案,Keepalived可以用来防止服务器单点故障的发生,通过配合Nginx可以实现web前端服务的高可用。Keepalived以VRRP协议为实现基础,用VRRP协议来实现高可用性(HA)。VRRP(VirtualRouterRedundancyProtocol)协议

    2022年10月22日
  • 【转载】来自 GitHub 的系列渗透测试工具

    【转载】来自 GitHub 的系列渗透测试工具51CTO2019-04-03渗透测试Kali-GNU/Linux发行版,专为数字取证和渗透测试而设计。(https://www.kali.org/)ArchStrike-为安全专业人士和爱好者提供ArchGNU/Linux存储库。(https://archstrike.org/)BlackArch-基于GNU/Linux的分布式渗透测试…

  • 国产FPGA现状_fpga未来发展前景

    国产FPGA现状_fpga未来发展前景原文:https://www.sohu.com/a/229245757_132567来源:内容来自财通证券TMT组,谢谢。2018年上半年对于中国半导体行业而言是多事之秋,发生了几件让国人深入思考的大事。我作为IC产业的逃兵,最近也在思考很多的问题,包括资本市场、集成电路行业和研究所的一些不成熟的想法。2008年进入华中科技大学电子系,中科院半导体所毕业后进入联发科从事手机芯片开发(没错,就是卖的不怎么好的X30)。离开MTK之前有一段小插曲,招我进联发科的老大后来自己出来创业做安防芯片,当时喊

  • word在试图打开文件时遇到错误[通俗易懂]

    word在试图打开文件时遇到错误[通俗易懂]昨天晚上在台式机上写了个word文档,发到邮箱。今天在邮箱上下载后就打不开了,出现“word在试图打开文件时遇到错误”。让人很郁闷,因为两台电脑上装的都是word2016.。。。看到网上说的是用WPS打开,之后再另存为,可是我早已没有了WPS。突然灵光一现,我点击了该文档的属性:有个解除锁定,我在上面划勾,点击确定后,再次打开,竟然就打开了~~~~开心~20170825周

  • idea注释模版配置(吐血推荐!!!)[通俗易懂]

    idea注释模版配置(吐血推荐!!!)[通俗易懂]idea注释模版配置idea作为越来越多程序员使用的开发工具,平时的代码注释也非常的关键,下面介绍一下类上注释和方法上注释,方便大家的开发配置,同时也为自己以后配置留一份记录(毕竟每次换环境都需要重新配置一遍)1、新建类的时候自动添加类注释(1)按照上图的提示,找到位置1的FileandCodeTemplates(2)选择右侧的Files选项卡,选择位置2的Class(如果需要设置接口和枚举的注释模版,只需要选择Interface和Enum,按照步骤3配置一下就ok了)(3)在

发表回复

您的电子邮箱地址不会被公开。

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