.gitignore文件

发布于:2025-05-16 ⋅ 阅读:(7) ⋅ 点赞:(0)

目录

一、格式规范

二、案例

三、定义全局的.gitignore

四、.gitignore规则

五、diff命令

1.工作目录和暂存区

2.暂存区 vs Git仓库

3.工作目录 vs Git仓库


在项目中,我们可能一起提交多个文件

·  git add -A  提交所有变化

·  git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

·  git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

做删除操作的时候是直接进入缓存区,所以一般可以直接写git add .,就相当于提交所有了

在使用git的过程中,一般我们总会有些文件无需纳入git的管理,也不希望它们总出现在未跟踪文件列表,这些文件通常是日志文件、临时文件、编译产生的中间文件、工具自动生成的文件等等。
此时我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式,Git会根据这些模式规则来判断是否将文件添加到版本控制中。
注意:在windows下可以创建文件名为.gitignore.,保存之后系统会自动重命名为 .gitignore

一、格式规范

1.所有空行或者以注释符号 # 开头的行都会被 Git 忽略

2.可以使用标准的 glob 模式匹配

3.匹配模式最后跟斜杠(/)说明要忽略的是目录

4.要忽略指定模式以外的文件或目录,可以在模式前加上感叹号(!)进行取反

二、案例

1. 在需要创建 .gitignore 文件的文件夹, 右键选择Git Bash 进入命令行,进入项目所在目录。

2. 输入 touch .gitignore 在文件夹就生成了一个“.gitignore”文件

3.用编辑器打开这个文件进行编辑。

4.然后就可以写规则来操作要忽略的文件了。

.gitignore里面的内容:

创建两个文件:

查看状态发现testclass.class不在工作区

提交也不会进入暂存区

现在这个设置的.gitignore是仓库级别的,因为它是在我仓库下建的,他只有两个级别,要么仓库,要么全局,一般情况是全局

三、定义全局的.gitignore

除了可以在项目中定义.gitignore文件外,还可以设置全局的.gitignore文件来管理所有Git项目的行为。

这个.gitignore文件可以在两个地方设置,一个是外面,一个是项目内部,跟随谁走,由 git config --global core.excludesfile ~/.gitignore 这个红色部分决定,用户级别,仓库级别,系统级别,走什么文件下的.gitignore文件

四、.gitignore规则

.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。所以一定要养成在项目开始就创建.gitignore文件的习惯。

五、diff命令

1.工作目录和暂存区

git diff <filename>

意义:这个命令是查看文件在工作目录与暂存区的差别。如果还没 add 进暂存区,则查看文件自身修改前后的差别。也可查看和另一分支的区别。

2.暂存区 vs Git仓库

git diff --cached <filename>

意义:表示查看已经 add 进暂存区但是尚未 commit 的内容同最新一次 commit 时的内容的差异。 也可以指定仓库版本:

3.工作目录 vs Git仓库

git diff <commit> <filename>

意义:查看工作目录同Git仓库指定 commit 的内容的差异。

<commit>=HEAD 时:查看工作目录同最近一次 commit 的内容的差异。

4.Git仓库 vs Git仓库

git diff <commit> <commit>

意义:Git仓库任意两次 commit 之间的差别。

以上命令可以不指定 <filename>,不指定则是对全部文件操作。
以上命令涉及和 Git仓库 对比的,均可指定 commit 的版本。