【学了就忘】Git *** 作 — 55.忽略文件的三种方式

【学了就忘】Git *** 作 — 55.忽略文件的三种方式,第1张

有鉴于此,我们应该寻求一种机制来规避这种事故的发生,在 git 版本控制系统中一般有三种不同的解决方案。

最常用也是最简单的当属 .gitignore 文件

该方式是在工作中最常用的方式,配置方法是在仓库的根目录下新建 .gitignore 文件,在文件里配置忽略规则,同时把 .gitignore 文件加入版本管理。之后可以同步该配置到远程仓库,其他开发者可更新该文件到本地仓库,与其他克隆仓库共享同一套忽略规则。

.gitignore 文件对其所在的目录,及所在目录的全部子目录均有效。

1)查看当前Git工作目录中文件状态

可以看到有6个未被追踪的文件。

2)在Git仓库的根目录下新建一个名为 .gitignore 的文件

因为是点开头,没有文件名,没办法直接在windows系统中直接创建,要通过Git Bash客户端,用Linux系统的方式新建 .gitignore 文件。

3)将需要忽略的文件写入 .gitignore 文件中

提示:每个文件或者正则匹配占一行。

4)将 .gitignore 文件提交到本地版本库

这样就完成可忽略文件的整个过程了。

用这种方式配置忽略文件,不会同步该设置至远程仓库,只在本机起作用。

配置方法是直接编辑Git仓库根目录下的 .git/info/exclude 文件,把要忽略的规则直接写入,这个方法只在本机当前仓库起效,不会对其他的克隆仓库起效。

1)查看当前Git工作目录中文件状态

可以看到有3个未被追踪的文件。

2)编辑Git仓库根目录下的 .git/info/exclude 文件,配置忽略

3)再次查看当前Git工作目录中文件状态

我们可以看到 local.txt 文件被忽略了。

忽略规则由本机所有仓库共用(也就是对本机的所有Git仓库都起作用),配置方法如下:

Linux中,这时把全局要忽略的文件列表 .gitignore 放当前用户根目录下( ~/.gitconfig ):

Windows中,这时把全局要忽略的文件列表 .gitignore 放当前用户根目录下:

我们以Windows系统为例:

1)查看当前Git工作目录中文件状态

2)创建 .gitignore 忽略文件

我们可以复制用户根目录下的 .gitconfig 文件,并改名为 .gitignore 文件。

注意:

如下:

3)将忽略文件配置到Git全局配置文件 .gitconfig 文件中

通过如下命令进行配置。

执行命令后,查看 .gitconfig 文件内容,如下:

至此之后,所有Git仓库都会自动应用这个 gitignore_global.txt 文件中,所配置忽略的文件。

4)把需要忽略的文件加入到 gitignore_global.txt 文件中

把 gitignore_global.txt 文件中的内容清空,之后添加要忽略的文件。

gitignore_global.txt 文件内容如下:

5)查看 learngit 仓库工作目录文件状态

可以看到 hello.java 和 test.java 两个未被追踪的文件被忽略掉了。

git 配置语法:

斜杠 / 开头表示目录;

星号 * 通配多个字符;

问号 ? 通配单个字符

方括号 [] 包含单个字符的匹配列表;

叹号 ! 表示不忽略(跟踪)匹配到的文件或目录;

此外,git 对于 . gitignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

我们在使用git对项目进行版本管理的时候,总有一些不需要提交到版本库里的文件和文件夹,这个时候我们就需要让git自动忽略掉一下文件。

举例说明:

注:一定要设置好规则顺序,*python__/ 和!testpython__/test.txt 设置这两规则时,*python__/ 规则要在!testpython__/test.txt规则之前,这样才能使testpython__/test.txt些文件不被忽略

但是往往对于已经提交的文件,在 .gitignore 文件中添加其目录是不会让提交列表中的目录消失的,假如之前没将 test 目录添加到 .gitignore 文件中,提交代码的时候又把 test 目录提交上去了,那后面在 .gitignore 文件中添加 test 目录是不会让提交列表中的 test目录消失的,这个时候我们就需要使用命令删除暂存区中的 test 目录

开发过程中可能还会遇到这样的情况,某个文件没有修改好,但是又要提交代码, 想这次忽略这个文件,下一次提交时再去提交它。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11814059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存