git 文件被莫名其妙的或略且无论如何都查不到哪个.gitignore文件忽略的

先说解决办法:git check-ignore -v [文件路径]

这个命令会返回一个忽略规则,以及该规则在哪个文件中定义的,该规则使得指定的文件被忽略。

1.遇到的问题

同项目组,其他同学都可以正常的提交.meta文件,我的提交就出现以下问题:

hint: Use -f if you really want to add them.

hint: Turn this message off by running

hint: "git config advice.addIgnoredFile false"

提示:如果您确实要添加它们,使用 -f 参数。

提示:运行下面的命令来关闭本消息

提示:"git config advice.addIgnoredFile false"

2.尝试解决

第一步:用vscode查看了项目仓库目录下全部的.gitignore文件,没有发现哪个文件

第二步:因为项目组其他同学没有使用git图形化软件,而我使用了sourcetree,所以先查看了项目里每一个仓库中的sourcetree 的忽略文件,没有发现问题,最后直接卸载了sourcetree。

也没解决

第四步:更新了git,怀疑是git的bug。没解决

第五步:已经准备删除项目库重新下载了。。。甚至想格式化硬盘了,人快疯了

第六步:峰回路转,ChatGPT 给出了一个命令

提问:git 查看起作用的忽略文件

回答:在 git 中,你可以使用 git check-ignore 命令来查看哪些文件被 .gitignore 或其他忽略规则所影响。

如果你想查看某个特定文件是否被忽略,你可以使用以下命令:

git check-ignore -v [文件路径]

Bash

这个命令会返回一个忽略规则,以及该规则在哪个文件中定义的,该规则使得指定的文件被忽略。

例如:

git check-ignore -v Main/Pokekara/Suit/PKKR_Girl_Suit_0006/PKKR_Girl_Suit_0006_0001/NewBehaviourScript.cs.meta

Bash输出如下:

/Users/zego/.gitignore_global:4:*.meta Main/Pokekara/Suit/PKKR_Girl_Suit_0006/PKKR_Girl_Suit_0006_0001/NewBehaviourScript.cs.meta

/Users/zego/.gitignore_global:文件中的第4行定义:*.meta

找到/Users/zego/.gitignore_global这个文件,直接删除。

恢复正常

最后

一定要git命令熟悉,思路清晰啊。不然被这种问题折磨的欲仙欲死。

相关推荐
K3v2 小时前
【git】删除本地以及远端已经合并到master的分支
大数据·git·elasticsearch
云攀登者-望正茂6 小时前
将 develop 分支拉取到特性分支时解决合并污染问题
git
金銀銅鐵8 小时前
[git] 如何找到已经“丢失”的 commit?
git·后端
尘世壹俗人9 小时前
linux编译安装git
linux·运维·git
打不了嗝 ᥬ᭄1 天前
Git 原理与使用
git·gitee
m0_614619061 天前
花了一下午学 Git,整理了一份学习笔记
笔记·git·学习
AGV算法笔记1 天前
解决Git> git add -A -- fatal: CRLF would be replaced by LF in Test/Test.cpp
git
Dontla1 天前
VSCode插件Git Graph介绍(Git可视化管理分支、可视化Git)
ide·git·vscode
Echoo华地1 天前
用git diff快速比较文件夹差异并生成报告
linux·git·unix·repository·diff·branch
勤劳打代码1 天前
防微杜渐 —— 为什么一次 Sync 会变成一次 merge?
git·团队管理