如何在idea中,忽略掉.gitignore文件自身,自己不能忽略自己,该怎么设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在idea中,忽略掉.gitignore文件自身,自己不能忽略自己,该怎么设置?相关的知识,希望对你有一定的参考价值。

要达到的目的是:不要将.gitignore文件纳入版本控制;
注意:不是gitignore文件怎么用,我知道该怎么用,是怎么忽略自己

1、.gitignore:在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的。对于这些文件应该对于Github来讲是透明的。Github提供这种功能,可以自己指定哪些文件可以不被管理。具体方法是在版本管理的根目录下(与.git文件夹同级)创建一个 .gitignore(gitignore是隐藏文件,所以前面有个点) gitignore - Specifies intentionally untracked files to ignore 2、使用gitignore文件来解决这个问题,步骤是: 1) touch .gitignore #创建gitignore隐藏文件 2) vim .gitignore #编辑文件,加入指定文件 #下面是gitignore文件的内容 #忽略gitignore文件 .gitignore #忽略后缀名为.o和.a的文件 *.[oa] #显示指定忽略名称为main的文件 main 3、文件.gitignore的格式规范: A:#为注释 B:可以使用shell所使用的正则表达式来进行模式匹配 C:匹配模式最后跟"/"说明要忽略的是目录 D:使用!取反(例如目录中包含 test.a,并且gitignore文件中包含 *.[oa],如果在文件中加入 !test.a 表明忽略除test.a文件以外的后缀名为.a或者.o的文件) 4、配置完.gitignore文件后,执行git status命令,会发现那些文件不再是Untracked files了,也就完成了忽略指定文件的功能。追问

不是说这个文件怎么设置规则,是怎么忽略掉自己

参考技术A 1、.gitignore:在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的。对于这些文件应该对于Github来讲是透明的。Github提供这种功能,可以自己指定哪些文件可以不被管理。具体方法是在版本管理的根目录下(与.git文件夹同级)创建一个 .gitignore(gitignore是隐藏文件,所以前面有个点) gitignore - Specifies intentionally untracked files to ignore 2、使用gitignore文件来解决这个问题,步骤是: 1) touch .gitignore #创建gitignore隐藏文件 2) vim .gitignore #编辑文件,加入指定文件 #下面是gitignore文件的内容 #忽略gitignore文件 .gitignore #忽略后缀名为.o和.a的文件 *.[oa] #显示指定忽略名称为main的文件 main 3、文件.gitignore的格式规范: A:#为注释 B:可以使用shell所使用的正则表达式来进行模式匹配 C:匹配模式最后跟"/"说明要忽略的是目录 D:使用!取反(例如目录中包含 test.a,并且gitignore文件中包含 *.[oa],如果在文件中加入 !test.a 表明忽略除test.a文件以外的后缀名为.a或者.o的文件) 4、配置完.gitignore文件后,执行git status命令,会发现那些文件不再是Untracked files了,也就完成了忽略指定文件的功能。

Git中的使用.gitignore忽略不想要提交的文件

1. .gitignore的作用

        在实际的工程项目中,除了项目本身的代码文件、配置文件外,还有一些文件或目录并不需要纳入版本管理中,如idea工具会在工程根目录生成一个.idea的目录、工程编译后生的target等。因此在提交代码文件的时候需要自动把这些目录或文件自动忽略掉。在Git工作区的根目录下创建一个特殊的.gitignore文件,并配置一定的忽略规则,Git就会自动忽略这些文件或目录,避免不必要的文件上传到远程。

2. 忽略规则的匹配语法

        对于不同的语言的工程项目,其具体需要忽略的内容是不一样的,但是忽略规则配置是遵循相同的语法规则的,具体如下:

  1. 注释使用#开头,后面跟注释内容。
  2. 在.gitignore文件中,每一行表示一种模式。
  3. 如果被忽略的文件已经纳入到了版本控制管理中(即已受控状态,文件被add后就表示已经受控)时,即使在.gitignore文件中设置了忽略也不会起作用。
  4. 同一个仓库的所有人使用同一个.gitignore文件,.gitignore文件本身需要上传到远程仓库。
  5. ! 开头的模式表示反向操作,该文件将会再次被包含,如果忽略了该文件的父级目录,则使用 ! 也不会使该文件再次被包含。
  6. / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
  7. / 开始的模式匹配项目根目录
  8. 如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容(目录和文件),如果该模式不在 .gitignore 文件中,则相对于项目根目录
  9. ** 匹配多级目录,可在开始,中间,结束
  10. ? 通用匹配单个字符
  11. * 通用匹配零个或多个字符
  12. [] 通用匹配单个字符列表

        其实忽略规则的匹配语法和正则表达式比较类似,如果对正则表达式比较熟悉的话,理解这个规则相对容易得多。

3. 举例说明

        这里举例说明几个常用的场景:

  1.         bin:表示忽略.gitignore文件所在目录下所有的bin目录和bin文件
  2.         bin/: 表示忽略.gitignore文件所在目录下的所有bin目录及子目录下的内容都会被忽略
  3.         /bin: 表示忽略.gitignore文件所在目录下bin目录的内容,其他目录的bin文件和目录不受影响
  4.         *.log: 表示忽略.gitignore文件所在目录下及子目录下的所有含有.log 文件和目录
  5.         /**/*.c:表示忽略.gitignore文件所在目录下及子目录下的所有含有.c的文件和目录

4.java中常用的.gitignore

        这里举例说明java项目中常用的忽略模式,实际可以根据实际需求自由裁剪。

# Created by .ignore support plugin (hsz.mobi)
### Java template
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

5. idea中的.ignore插件

5.1 安装

        在idea中安装.ignore插件,有两种方法:

        一、直接在线安装file--->plugins--->browse repositories--->搜索.ignore--->install;

        二、在idea官网下载与自己所有idea版本匹配的.ignore插件,然后file--->plugins--->install plugin from disk;

5.2 使用

        如果所在工程项目内没有.gitigonre文件,可以通过file--->new--->.ignore file--->.gitigore file(git)创建一个,创建的时候还可以选择工程所用的语言、工具等信息。如果使用idea开发java项目,java、jetbrains最好选中。

        已经有了.gitignore文件后,在想要忽略的文件或目录上右键弹窗--->add to .gitignore file,就可以忽略想要的文件或目录了。

6.总结

        系统性的梳理了一下.gitignore文件的作用、匹配语法、如何结合idea编程工具来使用.ignore插件,其实没有那么复杂,so easy!

以上是关于如何在idea中,忽略掉.gitignore文件自身,自己不能忽略自己,该怎么设置?的主要内容,如果未能解决你的问题,请参考以下文章

idea提交项目的时候忽略掉某些东西

如何创建.gitignore文件,忽略不必要提交的文件

.gitignore

Git中的使用.gitignore忽略不想要提交的文件

IDEA创建.gitignore文件模板忽略git提交.idea等文件

解决git中将要忽略的文件加入.gitignore无效的问题