Git 中忽略某些文件或者文件夹
2017-03-25 14:04
369 查看
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自动生成的垃圾文件:
然后,继续忽略Python编译产生的.pyc、.pyo、dist等文件或目录:
加上你自己定义的文件,最终得到一个完整的.gitignore文件,内容如下:
最后一步就是把.gitignore也提交到Git,就完成了!当然检验.gitignore的标准是git
status命令是不是说“working directory clean”。
使用Windows的童鞋注意了,如果你在资源管理器里新建一个
忽略某些文件时,需要编写.gitignore。
.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理!
从版本库中删除
忽略文件夹写法
有些时候,你必须把某些文件放到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
相关文章推荐
- Git 中忽略某些文件或者文件夹
- git 忽略某些文件或者文件夹的版本控制
- 使用git push命令如何忽略不想提交的文件夹或者文件
- eclipse svn同步时无法忽略某些文件或者文件夹
- git如何忽略文件或者文件夹
- GIt帮助文档之忽略某些文件——忽略python虚拟环境文件夹
- git如何忽略文件或者文件夹
- git如何忽略文件或者文件夹
- git如何忽略文件或者文件夹
- git忽略文件或者文件夹
- eclipse svn提交忽略某些文件或者文件夹
- git设置忽略某些文件或文件夹
- Git 将一些生成的中间文件或者文件夹忽略。禁止提交。
- git如何忽略文件或者文件夹
- 【git】git add忽略某些文件的方法
- Eclipse SVN插件忽略某些文件或文件夹方法
- svn设置提交忽略某些文件或文件夹
- 关于git的.gitignore无法忽略某些文件解决方法
- 使用 .gitignore来忽略某些文件