Git版本控制系列:使用.gitignore忽略指定文件

0x00 前言

文章中的文字可能存在语法错误以及标点错误,请谅解;

如果在文章中发现代码错误或其它问题请告知,感谢!

演示运行系统环境:Windows 10 家庭中文版, 64位

Git版本:git version 2.23.0.windows.1

0x01 使用.gitignore意义

我们项目中,并非所有文件都希望被git跟踪并提交,例如:
(1)程序编译过程中的中间文件(例如tmp文件);
(2)刻意要忽略掉的暂存文件以及保存密码的私密文件。

所以想要git实现我们的上述目的,可以在项目的根目录下创建并配置.gitignore文件,通过在该文件进行配置我们可以完成对指定的文件忽略跟踪。

0x02实例举例

1.建立.gitignore文件
首先我们在项目目录中git初始化(git init)后新建a.txt、b.txt、c.txt以及一个b.doc:
在这里插入图片描述
使用git status命令查看当前状态:
在这里插入图片描述
可以看到四个文件状态都未提交。

然后我们在使用git提交之前,在根目录创建一个.gitignore文件touch .gitignore
在这里插入图片描述
2.编写.gitignore内容
现在可以编写.gitgnore文件,文件 一般语法规范如下:
(1)空行或以#开头的行仅为注释行不作为忽略规则;
(2)使用/来分隔文件夹;
(3)星号*可以匹配任意多个字符(不包括\),问号?表示任意一个字符(同样不包括\),方括号[]中的字符(例如[a-zA-Z])表示其中的任意一个字符,大括号{}中的字符串(例如{string1,string2,string3})表示其中的任意一个字符串。
(4)连续两个**表示目录名或所有内容,例如** /ContentA 表示本地中所有名为ContentA的文件或目录,abc/**表示abc下的所有文件及目录。另外,两个/之间有**则表示目录分隔内的所有的子目录(0或多个),例如a/**/b 可以是 “a/b”, “a/x/b”, “a/x/y/b” 等。
(5)叹号!开头表示此类文件不被忽略。

在.gitignore文件中添加内容如下:
在这里插入图片描述
在这里我们忽略了除了b.txt之外的所有txt文档,此时我们再用git status命令查看状态:

在这里插入图片描述
可以看到此时除了b.txt,其它txt文件都被忽略。
3. 修改被忽略的文件的内容
现在我们将所有文件提交到版本库(git add .git add commit -m "第一次提交"),然后增加a.txt的内容:
在这里插入图片描述
然后输入git status指令:
在这里插入图片描述
以及git diff git diff HEAD指令:
在这里插入图片描述

可以看到a.txt的修改对提交没有任何影响。
4.修改.gitignore内容
现在,修改.gitignore文件,增加忽略*.docx文件内容并提交:
在这里插入图片描述
再修改b.docx文件然后使用git status查看:
在这里插入图片描述
b.doc文件依然处于跟踪状态(未被忽略),这是因为规则只能对尚未被track跟踪的文件有效,所以只要再将b.doc设置为未跟踪状态即可生效,输入指令git rm b.docx --cached
在这里插入图片描述
然后输入git status指令:
在这里插入图片描述
以及git diff git diff HEAD指令:
在这里插入图片描述
可以看到工作区和暂存区没有差别,而工作区、暂存区与版本库有差别,我们先提交一下(或者git reset --soft HEAD^进行版本回退),使用指令git commit -m "修改.gitignore提交"
在这里插入图片描述
再使用git diff git diff --cached查看没有发现差异,然后为了确认是否d.docx真的被忽略我们此时第二次修改b.docx文件,然后输入git status命令:
在这里插入图片描述
可以看到git是"干净的",因为这时候.docx文件已经处于忽略状态,Git已经不能跟踪它。

5. 添加忽略文件到git
如果有些文件已经被忽略了,比如刚才忽略掉的b.docx,此时我们想要再次跟踪,我们可以把.gitignore中 *.docx那行删掉并进行提交,之后就又可以跟踪 *.docx,也可以直接输入指令添加到git中去,输入指令内容为 git add b.docx
在这里插入图片描述
发现添加不了,但是git提示我们这个文件已经被我们忽略了,需要加上-f参数才能强制添加到git中去,所以增加-f参数:git add -f b.docx,然后输入git status查看状态:
在这里插入图片描述
这样又实现了文件跟踪。

以上。

参考文档:
1.https://git-scm.com/docs/gitignore
2.http://www.softwhy.com/article-8539-1.html
3.https://blog.csdn.net/m0_37263637/article/details/81392594

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值