Git 中的.gitignore文件的作用及配置

您所在的位置:网站首页 sysorm是什么文件 Git 中的.gitignore文件的作用及配置

Git 中的.gitignore文件的作用及配置

2023-10-21 08:36| 来源: 网络整理| 查看: 265

文章目录 前言一、.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