GIt系列(二)忽略文件(.gitignore)

这篇具有很好参考价值的文章主要介绍了GIt系列(二)忽略文件(.gitignore)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一 .gitignore 的作用

如果你不想让本地仓库的所有文件都上传到远程仓库中,而是有选择的上传一部分的文件,比如说依赖文件,测试文件你不想提交,
可以通过 ".git目录 " 下的 .gitignore 文件,选择忽略这些文件。

二 .gitignore使用规则

2.1 在工作区创建 .gitignore

工作区:包含 .git目录的上一级目录,详见:GIt系列(一)中的工作区(Working Directory)

LiYapeng@Lenovo MINGW64 /d/Local_Warehouse (master)
$ touch .gitignore  # 创建.gitignore文件,要在工作区创建,和 .git目录位于同一级目录下,在其它位置可能没用
LiYapeng@Lenovo MINGW64 /d/Local_Warehouse (master)
LiYapeng@Lenovo MINGW64 /d/Local_Warehouse (master)
$ ls -al
-rw-r--r-- 1 LiYapeng 197121  0 Apr 25 19:53 .gitignore
drwxr-xr-x 1 LiYapeng 197121  0 Apr 25 14:00.git/ # 用了ls-al 出现 .git/,这是工作区,要在该路径下创建 .gitignore,其它位置可能没用

2.2 .gitignore的语法

#:注释符,开头的行表示注释行
*:通配符,用来匹配零个或多个字符
?:用来匹配单个字符
** :匹配多级目录,可在开始,中间,结束

*.a表示忽略.a文件,工作区内都忽略,不管在工作区内的路径在哪里
[]:用来匹配括号内的任一字符,如[abc]
[0-9]:在[]中匹配0至9的数
[ ^ ] : 表示否定, [ ^0-4 ] .c 忽略除了 0 至 4之外的 .c 文件 , 忽略 3.c,不忽略 5.c
!:用来否定忽略,前面用了 *.c , !1.c , 否定忽略对1.c的忽略
/ 文件名:/a 如/a表示忽略根目录下的a文件,但不忽略子目录里的b/a文件 和 c/d/a文件
文件名 /:b/表示忽略b文件夹里的所有文件

**/abc: 表示忽略 /abc,a/abc,a/b/abc 等

a/**/b: 表示忽略a/b, a/123/b, a/fgh/dfghdfg/b等

.gitignore只能忽略那些未追踪的文件,如果某些文件已经被追踪中,即如果之前已经添加(add)到暂存区,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git add 1.txt # 1.txt 已经添加(add)到暂存区
vim .gitignore # 在 .gitignore中编辑内容,添加 *.txt
touch 2.txt # 创建 2.txt
git add . # 无法添加 2.txt 到暂存区
git commit -m "abcd" # 1.txt 被提交,2.txt不被提交到版本库
git push origin # 1.txt 被推送到远程仓库,2.txt不被推送到远程仓库

本地缓存删除(改变成未track状态),然后再提交

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

2.3 进入 .gitignore 编辑内容

$ vim .gitignore # 用 vim 进入 .gitignore 编辑内容

Windows环境下,选中打开方式,点击鼠标右键,选中记事本,点击鼠标左键,进入 .gitignore 编辑内容
.gitignore忽略文件夹,GIt系列,git

2.4 .gitignore 的使用案例

.bin     #表示忽略所有 .bin 结尾的文件或目录
?1.bin   #表示忽略所有的(某一个字符)1.bin的文件或目录,忽略 a1.bin,11.bin,x1.bin ,不忽略aa1.bin,111.bin,xx1.bin
[1-9].c  #表示忽略 1至9.c, 不忽略1.cpp , 99.c
[1-9].c  #表示忽略 1至9.(任何).c, 忽略1.ac , 9.c, 6.ac, 不忽略 100.ac , 1.cpp
.[oa]    #表示忽略 file.o,file.a ,不忽略 file.cpp
!a.bin   #表示但a.bin除外
/a       #表示仅仅忽略项目根目录下(和.git 位于 同一级目录下 )的 a 文件或目录,不包括 child/a
b/       #表示忽略 b/目录下的所有文件,忽略整个b文件夹
c/.txt   #表示会忽略c/a.txt但不包括 c/d/e.txt
d/       #表示,忽略当前路径下的d文件夹(目录),该文件夹下的所有内容都会被忽略,不忽略d 文件(非目录)
/bin     #表示忽略项目根目录下的bin文件
fd/      #表示忽略目录 fd下的全部内容,项目根目录下的 /fd1/ 目录 和 子目录 /child/fd/ 目录,都会被忽略
/fd1/    #表示忽略项目根目录下的 /fd1/ 目录的全部内容,不忽略/fd1, /a/fd1, /b/e/fd1/v
/a/b/*   #表示忽略项目根目录下的 /a/b/ 目录的全部内容,不忽略/a/c, /x/a/b
/.c      #表示忽略1.c,不忽略 child/2.c
e/.cpp   #表示忽略e/123.cpp,不忽略 a/b/234.cpp和1/2/4.cpp
/f       #表示忽略/f,a/f,a/b/f等
a//b     #表示忽略a/b, a/asdf/b, a/q/w/b等
!/k/m.sh #表示不忽略k目录下的m.sh文件
*.txt    #表示忽略所有 .txt 文件或目录
m.out    #表示忽略当前项目根目录里面的 m.out文件和目录

2.5设置全局生效

首先创建文件,然后设置全局生效文章来源地址https://www.toymoban.com/news/detail-611507.html

touch ~/.gitignore_global   # 创建.gitignore_global
vim ~/.gitignore_global     # 设置忽略规则,vim 怎么用这里不讲 ,csdn上有搜索即可 
# 也可用记事本代替 vim 设置忽略规则 .gitignore_global ,打开记事本的方法 在2.1进入 .gitignore  编辑内容中有
git config --global core.excludesfile ~/.gitignore_global #设置所有的本地仓库生效

到了这里,关于GIt系列(二)忽略文件(.gitignore)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git忽略.idea文件夹

    1.修改**.gitignore**文件 在最后一行添加 2.打开git bash终端 重点: --cached不会把本地的.idea删除 git add . git commit -m ‘忽略idea’ git pull git push

    2024年02月13日
    浏览(49)
  • 如何在 Git 中忽略文件和文件夹

    学了么社区,营造专业的学习环境,完善专业的学习资料,打造一个属于学习的网站,目前只开发计算机编程语言模块,可以微信加群(搜索微信号xuelem)进行学习讨论。 Git 是一个流行的版本控制系统。开发人员通过它可以在项目上进行协作。 Git 允许你跟踪你在一段时间内

    2024年02月01日
    浏览(73)
  • git提交时忽略文件及文件夹方法

    如果要忽略的文件没有被跟踪过,可以直接在.gitnore文件中写要忽略的内容即可: .gitignore内容: 如果要忽略的文件已经是被跟踪状态,则需要先把本地缓存删除,变成未跟踪状态,然后再提交。 就是这些内容。

    2024年02月12日
    浏览(56)
  • idea git 提交 忽略文件或者文件夹

    方式1. 右键文件或者文件夹 git - Add to .gitignore   即可忽略 你会发现在.git/info/exclude 文件中 出现刚刚添加的忽略文件 # git ls-files --others --exclude-from=.git/info/exclude # Lines that start with \\\'#\\\' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if yo

    2024年02月13日
    浏览(62)
  • GIt系列(二)忽略文件(.gitignore)

    如果你不想让本地仓库的所有文件都上传到远程仓库中,而是有选择的上传一部分的文件,比如说依赖文件,测试文件你不想提交, 可以通过 \\\".git目录 \\\" 下的 .gitignore 文件,选择忽略这些文件。 工作区:包含 .git目录的上一级目录,详见:GIt系列(一)中的工作区(Working

    2024年02月15日
    浏览(62)
  • git 忽略 node_modules 文件夹

    git 忽略 node_modules 文件夹 在开发过程中,如果不想跟踪 node_modules 文件中的许多更改,可以在项目中创建一个 .gitignore 文件,用来设置 git 忽略该文件夹。 忽略根文件夹中的 node_modules 文件夹 文件结构: .gitignore 中提到的文件/文件夹不会被 git 跟踪 。 所以要忽略 node_modules,

    2024年02月12日
    浏览(69)
  • idea提交代码到git或svn上时,怎么忽略.class、.iml文件和文件夹等不必要的文件

    在Setings– Editor -- File Types --Ignore files and folders中添加需要忽略的文件和文件夹: 注意事项: 千万不要忽略.class文件, 千万不要忽略.class文件, 千万不要忽略.class文件, 重要的事说三遍,因为如果把class文件也忽略的话,就会导致java自带的类大批量报错,如果要忽略class文

    2024年03月24日
    浏览(78)
  • Git 忽略.gitignore文件自身/git仅本地忽略某些文件

    参考:Git 忽略.gitignore文件自身 为什么会有这个奇怪要求? 举个例子,项目中自己分支的某个数据库连接的是自己的,但提交的代码需要连接中央服。但是git add或者git pull时候总是改来改去会很烦。可是这个文件代码在.gitignore又不能配,因为这个连接代码有可能别人会改,

    2024年02月16日
    浏览(109)
  • Git忽略文件.gitignore的使用

            当你使用 git add . 的时候有没有遇到把你不想提交的文件也添加到了缓存中去?比如项目的本地配置信息,如果你上传到Git中去其他人pull下来的时候就会和他本地的配置有冲突,所以这样的个性化配置文件我们一般不把它推送到git服务器中,但是又为了偷懒每次添

    2024年02月05日
    浏览(55)
  • git怎么忽略无需提交的文件?(忽略提交 .gitignore)

    问题描述 : 在使用Git的过程中,我们有的文件比如target、.idea等不想提交到代码仓库,但如果这些文件没有被添加到暂存区区,切换分支会报Move or commit them before Pull git的错误(如下图),我们应该怎么解决呢? 解决方法: 1.在跟目录下(与src同级)创建 .gitignore 文件,这

    2024年02月12日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包