忽略特殊文件

有些时候,你必须把某些文件放到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了。

小结

  1. 忽略某些文件时,需要编写.gitignore
  2. .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!

忽略特殊文件,布布扣,bubuko.com

时间: 2024-11-08 19:11:26

忽略特殊文件的相关文章

git忽略某些文件提交

git忽略某些文件提交 在项目中有些配置文件不需要提交,但是有同学在后面开发中发现在.igonore文件中无论如何都无法忽略某些文件的提交.原因在这里: 已经维护起来的文件,即使加上了gitignore,也无济于事.---- 那么如何解决呢?方式如下 git update-index --assume-unchanged   要忽略的文件夹/文件夹下文件名 比如我要忽略项目下.idea文件夹下所有xml文件,idea下都是xml文件(我用的webstorm): git update-index

Github用.gitignore忽略指定文件

.gitignore Github提供.gitignore这种功能,可以自己指定哪些文件可以不被管理.具体方法是在版本管理的根目录下(与.git文件夹同级)创建一个.gitignore. 应用实例 项目中有clist.h clist.c  main.c三个文件,编译执行后,生成了三个文件  clist.o  main.o   main.这三个文件是不需要进行版本管理的,所以需要忽略这些文件,使用 git  stauts查看后,发现这三个文件也是处于 Untracked files状态.而实际上我

Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库.友情提示:在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改).所以,不要把敏感信息放进去. 远程仓库的好处: 1.我们可以随时随地的与仓库建立连接,以实时存放我们开发的内容: 2.与他

ubutnu 下SVN 提交时忽略某些文件或文件夹

当编译程序时会出现很多中间文件,但是提交时又不希望提交这些文件,如下图,那么问题来了,该怎么忽略这些文件呢? 1.首先把产生的中间文件名保存到一个文件里面,如:ignore.txt,就是那些前面带?号的,当然也包括ignore.txt本身.别忘了?号后面有7个空格(根据?号到文件名之间的空格数决定). 虽然很笨,But,It works! 目的是让产生的ignore.txt文件中忽略文件名前没有任何空格. svn status |awk -F '\?       ' '{printf $2"\n

eclipse忽略js文件报错

eclipse中js文件报错的情况,或许大家早已习以为常了,那么有什么好的方法可以将其忽略掉呢?如果你也在寻找此问题,那么本文或许可以帮助到你忽略某个js文件报错的方法: Project Properties > JavaScript > Include Path > Source > 选中Exclude > 点击edit按钮 > 在下面的 Exclusion patterns 中添加对应的文件. 截图如下 详细出处参考:http://www.jb51.net/arti

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

为什么要忽略某些文件或文件夹的变化? git作为一款项目文件变更版本管理软件,其主要功能之一就是追踪项目文件夹内各种文件及文件夹的变更情况.但是,在日常使用中,并非项目文件夹下的所有文件及文件夹变更都需要纳入版本控制.例如我们使用自己的开发环境对项目进行开发时产生的项目配置文件.工作区配置文件.因为每个项目参与者的开发环境不尽相同,产生的项目配置文件及工作区配置也会有很大不同.如果将这些文件一并上传到服务器端,不仅无益于git对源代码的版本管理,反而会给其他项目参与者带来困扰.除此之外,还有我们

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

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 Git 忽略 *.a       # 忽略所有 .a 结尾的文件            !lib.a    # 但 lib.a 除外            /TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO            build/    # 忽略 build/ 目录下的

GIt帮助文档之忽略某些文件——忽略python虚拟环境文件夹

前言: 为避免多个Python项目下安装库之间的冲突,或为轻松打包某个项目,建议在每个项目文件夹下安装Python虚拟环境,并在虚拟环境内进行操作,之后你安装的任何库和执行的任何程序都是在这个环境下运行.不过,在使用Git进行版本控制的时候,需要忽略虚拟环境相关文件,取而代之地是建立一个requirement.txt的文档,用以记录所有依赖库极其精确的版本号,以便于在别处部署运行环境.这些事情最好在新建Git仓库的时候就搞定. 接下来,所要做的是两件事:其一.创建一个名为 .gitignore 

使用 .gitignore来忽略某些文件【转】

转自:http://www.cnblogs.com/shangdawei/archive/2012/09/08/2676493.htmlhttp://blog.csdn.net/richardysteven/article/details/6069418 一般某个项目dev过程中都会产生一些中间文件,这些文件是我们不想要追踪的. git中可以使用.gitignore文件来忽略这些文件. 在需要的目录下面 添加 .gitignore文件 : 文件中每一行表示需要忽略的文件的正则表达式. vim .