Git 中忽略某些文件或者文件夹
Git 中忽略某些文件或者文件夹
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示“Untracked files …”,有强迫症的童鞋心里肯定不爽。
好在Git考虑到了大家的感受,这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore
忽略文件的原则是:
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
- 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
举个例子:
假设你在Windows下进行Python开发,Windows会自动在有图片的目录下生成隐藏的缩略图文件,如果有自定义目录,目录下就会有Desktop.ini文件,因此你需要忽略Windows自动生成的垃圾文件:
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
然后,继续忽略Python编译产生的.pyc、.pyo、dist等文件或目录:
# 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
了。
小结
- 忽略某些文件时,需要编写.gitignore。
- .gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
- 从版本库中删除
$ git rm test.txt rm 'test.txt' $ git commit -m "remove test.txt"
忽略文件夹写法
经测试发现,若要忽略一个文件夹下的部分文件夹,应该一个一个的标示。可能有更好的方法。 若test下有多个文件和文件夹。若要ignore某些文件夹,应该这个配置.gitignore文件。若test下有test1,test2,test3文件。要track test3,则.gitignore文件为: test/test1 test/test2 !test/test3 若为: test/ !test/test3 ,则不能track test3。 Git 中的文件忽略 1. 共享式忽略新建 .gitignore 文件,放在工程目录任意位置即可。.gitignore 文件可以忽略自己。忽略的文件,只针对未跟踪文件有效,对已加入版本库的文件无效。 2. 独享式忽略针对具体版本库 :.git/info/exclude针对本地全局: git config --global core.excludefile ~/.gitignore 忽略的语法规则: (#)表示注释 (*) 表示任意多个字符; (?) 代表一个字符;([abc]) 代表可选字符范围 如果名称最前面是路径分隔符 (/) ,表示忽略的该文件在此目录下。 如果名称的最后面是 (/) ,表示忽略整个目录,但同名文件不忽略。 通过在名称前面加 (!) ,代表不忽略。 例子如下: # 这行是注释 *.a # 忽略所有 .a 伟扩展名的文件 !lib.a # 但是 lib.a 不忽略,即时之前设置了忽略所有的 .a /TODO # 只忽略此目录下 TODO 文件,子目录的 TODO 不忽略 build/ # 忽略所有的 build/ 目录下文件 doc/*.txt # 忽略如 doc/notes.txt, 但是不忽略如 doc/server/arch.txt
本条目发布于 2014年10月23日。属于 Git分类。 作者是程序设计。
Git 中忽略某些文件或者文件夹相关推荐
- git学习六:git提交忽略不必要的文件或文件夹
创建maven项目,使用git提交,有时需要忽略不必要的文件或文件夹,只保留一些基本. 例如如下截图,实际开发中我们只需提交:src,.gitignore,pom.xml 而自己项目文件一般都保留,但 ...
- 【git】git提交忽略不必要的文件或文件夹
对于经常使用Git的朋友来说,.gitignore配置一定不会陌生.废话不说多了,接下来就来说说这个.gitignore的使用. 首先要强调一点,这个文件的完整文件名就是".gitignor ...
- Git中忽略文件权限或文件拥有者的改变
2019独角兽企业重金招聘Python工程师标准>>> 解决办法: Git中可以加入忽略文件权限的配置,具体如下: $ git config core.filemode false ...
- git如何忽略已经提交的文件 (.gitignore文件无效)
一. 问题 在初始化git仓库的时候没有创建.gitignore文件来过滤不必要提交的文件, 后来却发现某些文件不需要提交, 但是这些文件已经被提交了, 这时候创建.gitignore文件忽略这些文件 ...
- git提交忽略不必要的文件或文件夹
首先要在文件目录下创建 .gitignore文件(和.git在同一级目录下),在里面写上过滤规则,规则如下,完成后保存,接着执行提交操作 常用的过滤规则 1./wj/ 过滤整个文件夹 2.*.zi ...
- 如何在Git中忽略某些文件
项目中经常会生成一些Git系统不需要追踪(track)的文件.典型的是在编译生成过程中 产生的文件或是编程器生成的临时备份文件.当然,你不追踪(track)这些文件,可以 平时不用"git ...
- Git中Add后对部分文件进行取消
在执行git add .操作后,修改的文件添加到版本跟踪cache中. 如果此时不想对某些文件进行commit了,此时可以执行命令 : git reset [ FileName] 如果不指定文件名,则 ...
- git中如何合并某个指定文件?
http://hi.baidu.com/configuration/item/50db923b522e8d4b3075a189 分支A_bracn和B_branch,只想将A_branch分支的某个文 ...
- git pull忽略指定文件_Git忽略提交规则
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. 简单来说一个场景:在你使用git add .的时候,遇 ...
最新文章
- MySQL数据库+命令大全+常用操作
- #include 和 #include 的区别
- win10 mysql 3534_win10 mysql 5.7.13 服务无法启动 3534
- 【Linux】一步一步学Linux——unset命令(202)
- C语言编写简单朗读发音小工具!!
- 2020-08-14 光纤通信第三章知识点整理
- 1057: [ZJOI2007]棋盘制作 - BZOJ
- 理解 Delphi 的类(十) - 深入方法[27] - 递归函数: 简单示例
- python+splinter实现12306网站刷票并自动购票流程
- python paas_Python paasword包_程序模块 - PyPI - Python中文网
- Windows下架设SVN服务
- 【TrollStore】苹果手机免费微信双开教程——国外的这款工具太绝了
- 房价收入比最高20倍 相关专家认为楼市泡沫已现
- symbian 如何在安装时备份sis文件
- SystemUi通知栏
- 小甲鱼零基础学习python_19 【pickle -- 腌制一缸泡菜】
- 2013年全国各大著名的IT公司薪资待遇大揭密
- 【表盘识别】基于Hough变换实现指针式仪表识别(倾斜矫正)
- 软件工程期末复习(超详细)
- 苹果不允许 iOS 应用内置购买(IAP)使用第三方支付方式,那么跨平台的支付怎么解决这个问题?