git 修改.gitignore后生效

版权声明:本文为博主原创文章,只要注明出处,喜欢可以随意转载,希望能帮到你。 https://blog.csdn.net/weixin_41287260/article/details/89787203

对于“.gitignore”文件(位于项目根目录),我认为这是保证代码轻量化的重要工具,你可以把一些“不是很重要的文件”忽略掉。那什么是不重要的文件呢?比如C语言项目在编译过程中产生的诸多文件、maven项目里的jar……说不是很重要是针对于代码本身而言的!因为这些文件你可以通过代码就可以得到,就拿maven项目而言,你无需手动去寻找各种需要的包,只需要在配置文件里面部署jar包的“坐标”,然后它就自动会帮你下载。

对于“.gitignore”文件,而官方是这样介绍的:

gitignore - A gitignore file specifies intentionally untracked files that Git should ignore. Files already tracked by Git are not affected.(gitignore文件指定了Git应该忽略的有意未跟踪的文件。已经通过Git跟踪的文件不受影响)

这句话应该很容易理解,就是说如果在开发过程中你新建了“.gitignore”文件,那么就是忽略在这之后的指定的文件,之前的就不忽略。我们使用该文件的情况一般有两种:

1、在新建仓库时就使用该文件

     如果是在远程新建仓库的话,在新建过程中它会询问你是否新建“.gitignore”文件,而且那里还会给出对应类型项目的一些参考模板,如下图是github新建仓库的界面,你可以选择需要的模板。那么这个文件在整个项目过程中都是起作用的。

     如果是在本地新建仓库则需手动创建,也可复制以前同一类型的仓库的“.gitignore”文件。

这是C语言模板:

# Prerequisites
*.d

# Object files
*.o
*.ko
*.obj
*.elf

# Linker output
*.ilk
*.map
*.exp

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex

# Debug files
*.dSYM/
*.su
*.idb
*.pdb

# Kernel Module Compile Results
*.mod*
*.cmd
.tmp_versions/
modules.order
Module.symvers
Mkfile.old
dkms.conf

2、在新建仓库时没有创建该文件,后续需要再添加进来。

   而根据我们之前的了解,该新建只对后续(为跟踪)文件起作用,但是如果我们需要让它对之前已经跟踪的文件也起作用该怎么办呢?

    看看官方怎么想的——我们还是有办法的!

The purpose of gitignore files is to ensure that certain files not tracked by Git remain untracked.

To stop tracking a file that is currently tracked, use git rm --cached.

(gitignore文件的目的是确保Git没有跟踪的某些文件仍然处于未跟踪状态。要停止跟踪当前跟踪的文件,请使用git rm——cached。)

我们再看看这个命令:

gti rm --cached

Use this option to unstage and remove paths only from the index. Working tree files, whether modified or not, will be left alone.

使用此选项仅从索引中取消阶段和删除路径。不管修改与否,工作树文件都将保持原样。

具体操作如下:

#add .gitignore
#查看状态,是否忽略了指定的文件? 
$ git status --ignored #查看状态,包括忽略的文件

#让其对已经跟踪的文件也起作用
$ git rm -r --cached .  #清除缓存 -r 表示递归删除(如果有文件夹的话) . 表示所有文件

#查看一下具体效果
$ git status --ignored
$ git add . #重新trace file
$ git commit -m "update .gitignore" #提交和注释

这样就能够使修改后的.gitignore对所有文件生效了。


gitignore详情可见官方资料:git - gitignore


end.

猜你喜欢

转载自blog.csdn.net/weixin_41287260/article/details/89787203
今日推荐