先說解決辦法: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命令熟悉,思路清晰啊。不然被這種問題折磨的欲仙欲死。