Git 中的.gitignore文件的作用及配置 |
您所在的位置:网站首页 › sysorm是什么文件 › Git 中的.gitignore文件的作用及配置 |
文章目录
前言一、.gitignore文件是什么?二、如何配置.gitignore文件?三、.gitignore文件在使用中的问题总结
前言
在使用Git的时候,有时候会在Git的工作区目录中产生一个.gitignore文件,该篇来简单介绍一下它的作用以及该如何进行配置。 一、.gitignore文件是什么?有的时候在IDE中使用Git拉取了GitHub上的开源代码的时候总会看到工作目录中有一堆的文件和目录,其中就有一个.gitignore文件,对于初学者来说不影响使用就不会去着重理会它,但这可能就在日后的使用中留下了隐患。 例如,有些时候,你需要在Git的工作目录中加入某些需要的文件,例如一些新增的配置文件,等。但是很多配置文件中会有一些重要的私密信息,你不想将其进行提交。所以当你每次在使用git status查看状态时,总会报出Untracked files ...这行信息,让你总是要去查看一下是否有什么遗漏。这在使用Git中会带来很不好的体验。此时就需要用到.gitignore这个配置文件了。 Git考虑到这个问题,所以在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。 这也就是它的作用啦~。忽略一些特殊不需要或者不想add的文件。 二、如何配置.gitignore文件?当然一般情况下不需要我们自己从头写编写.gitignore文件,在GitHub中有一个仓库已经为我们总结了各种情况下.gitignore文件的配置方式,我们只需要按需组合,并加以修改就可以使用了。所有配置文件可以直接在线浏览:github/gitignore 这里一般我们配置忽略文件的原则是: 忽略操作系统自动生成的文件,比如缩略图等; 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件; 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。 windows系统忽略文件示例: # Windows thumbnail cache files Thumbs.db Thumbs.db:encryptable ehthumbs.db ehthumbs_vista.db # Dump file *.stackdump # Folder config file [Dd]esktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msix *.msm *.msp # Windows shortcuts *.lnk最后一步就是把.gitignore也提交到Git,就完成了!当然检验.gitignore的标准是git status命令是不是说working directory clean。 注意⚠️:在Windows系统中,如果在资源管理器里新建一个.gitignore文件,它会非常弱智地提示你必须输入文件名,无法直接创建。此时你在文本编辑器里“保存”或者“另存为”就可以把文件保存为.gitignore了。 三、.gitignore文件在使用中的问题有时候你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了 $ git add App.class The following paths are ignored by one of your .gitignore files: App.class Use -f if you really want to add them.你会发现它会提示你使用-f参数来执行添加的操作: $ git add -f App.class有可能这个.gitignore文件不是你编写的,但是它编写的不符合实际需求,你可以使用git check-ignore命令进行检查,看是哪一个规则有问题了: $ git check-ignore -v App.class .gitignore:3:*.class App.class这个输出是Git在告诉我们,.gitignore的第3行规则忽略了该文件,此时对这条规则进行修改就好了。 有的时候你要添加的文件和忽略规则是包含关系,就是你想要提交的某个文件属于忽略规则中的某一类,除了使用 -f参数 进行强行添加到版本库中外,还可以在文件中配置排除忽略某个文件,例如: 在.gitignore文件中配置了如下规则: # 忽略所有.开头的隐藏文件: .* # 忽略所有.class文件: *.class但是我们发现.*这个规则把.gitignore也排除了,并且App.class需要被添加到版本库,但是被*.class规则排除了。 此时可以在.gitignore中添加两条排除规则: # 忽略所有.开头的隐藏文件: .* # 忽略所有.class文件: *.class # 排除忽略.gitignore和App.class: !.gitignore !App.class把指定文件排除在.gitignore规则外的写法就是!文件名,所以,只需把例外文件添加进去即可。 总结 忽略某些文件时,需要编写.gitignore;.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |