在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://my.oschina.net/liangzhenghui/blog/189576

Git 忽略一些文件不加入版本控制相关推荐

  1. git 如何忽略掉文件夹_如何使git忽略某些文件或文件夹

    为什么要忽略某些文件或文件夹的变化? git作为一款项目文件变更版本管理软件,其主要功能之一就是追踪项目文件夹内各种文件及文件夹的变更情况.但是,在日常使用中,并非项目文件夹下的所有文件及文件夹变更都 ...

  2. 如何使git忽略某些文件或文件夹

    如何使git忽略某些文件或文件夹 为什么要忽略某些文件或文件夹的变化? git作为一款项目文件变更版本管理软件,其主要功能之一就是追踪项目文件夹内各种文件及文件夹的变更情况.但是,在日常使用中,并非项 ...

  3. git 忽略 部分文件夹_git设置忽略文件和目录

    1.登录gitbash命令端进入本地git库目录 Administrator@PC201601200946 MINGW32 /d/gitrespository/crmweb (master) 2.创建 ...

  4. git 忽略 部分文件夹_git提交忽略某些文件或文件夹

    记得第一次用 github 提交代码,node_modules 目录死活传不上去,哈哈哈,后来才知道在 .gitignore 文件里设置了忽略 node_modules 目录上传.是的, .gitig ...

  5. git -- 忽略某个文件

    1.修改 .gitignore 文件 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法. 举例:.gitignore文件内容如下: # And ...

  6. Git 忽略某些文件,忽略已提交的文件记录,Git 不追踪变更

    很多时候某些本地生成的文件如编译器生成的文件,不想让git跟踪变更并提交 有两种情况: 1.未被Git系统追踪的文件(UntrackedFile,例如未被 git add的文件) .可通过.gitig ...

  7. git 忽略某些文件

    在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 使用Windows的童鞋注意了,如果你在资源管理器里新建一个.gitignor ...

  8. git忽略指定文件或者指定文件

    们在使用git进行协作开发的时候经常会遇到一些配置问题,不同成员使用的IDE可能不同,那么IDE生成的配置文件也就不同,比如开发JAVA,idea生成的配置文件为.iml,而eclipse为.proj ...

  9. Git忽略特殊文件(.gitignore)

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

最新文章

  1. 用了 Lambda 之后,发现可以忘记设计模式了
  2. 计算机处理文献信息 需要,科学素养与科研方法 考试85.doc
  3. HTML5的Web存储
  4. SSM整合配置文件总结
  5. 杰理之如果再开蓝牙一拖二的话。手机连接样机时,会出现,无法连接【篇】
  6. excel2013超链接进不去,提示“您的组织策略不允许...”
  7. AUTOCAD——坐标标注
  8. android q mix3,小米MIX3成首款适配Android Q的5G手机
  9. 电商-支付相关表的表设计
  10. html5电子时表,HTML5 canvas钟表
  11. 以下关于c语言程序中函数的说法正确的是( ),以下关于C语言程序中函数的说法正确的是:(  )...
  12. 安装配置OOS2016
  13. Unable to find image ‘XXX‘ locally docker: Error response from daemon: pull access denied for
  14. 英语计算机单词怎么记,英语单词快速记忆法
  15. 简析XDP的重定向机制
  16. kettle扩大运行内存
  17. 暗黑破坏神3难度的钥匙去哪里打?
  18. dede自动排版 php,站长必备:dedecms正文自动排版、伪原创插件
  19. 如何给PDF制作左侧显示的目录或书签?
  20. 哈工大锐捷网络处理问题

热门文章

  1. 数据结构(严蔚敏)之三——顺序栈之c语言实现
  2. 常用,好用的js代码
  3. OPCDAAuto.dll的C#使用方法浅析(转载)
  4. lucene 索引优化
  5. Spring3注解@Component、@Repository、@Service、@Controller区别
  6. SEO是企业发展的永恒主题
  7. 换掉flash,flex,用FlashDevelop
  8. SQL Server 2005 SP2发布了,开发人员怎么办?
  9. 给初学者们讲解人工神经网络(ANN)
  10. Linux内核模块的概念和基本的编程方法