为什么忽略的文件没有被忽略?

Why are ignored files not being ignored?

所以我知道这个问题的变体已经被问过和回答过,所以首先我想通过我自己的一些研究向你展示我没有重复.

  1. git ignore 实际上不是一个 .gitignore 文件:.gitignore is not working
    • 我的文件名为 .gitignore 并且我设置了 widows 以显示所有文件类型的完整文件名。 (文件名为 Unity.ignore,重命名未解决问题)
  2. 跟踪文件后添加了.git忽略,需要先取消跟踪。像这样:.gitignore not working in github for mac program
    • 不,.gitignore 被添加到一个空的 repo。确保提交。
  3. .git忽略文件放置不正确。
    • 现在我不太了解 Linux 和 bash,但有人告诉我将它放在根目录中,我认为这就是我所做的 here

前两个是我看到人们对 .gitignore 文件有问题的主要原因,但这不是我遇到问题的地方。最后一个我99%确定也不是问题。

在告诉 git 忽略我的 Library 和 Temp 文件夹后,在准备提交时,来自 temp 和 Library 的任何文件仍然显示在 windows 的 GitHub 客户端中: Linked image since Imgur is having problems

编辑: Same issue when viewing the repo in SmartGit

还有我的.git忽略文件

# =============== #
# Unity generated #
# =============== #
[Tt]emp/
[Oo]bj/
[Bb]uild
/[Ll]ibrary/
sysinfo.txt
*.stackdump

# ============================================= #
# Visual Studio / MonoDevelop / Rider generated #
# ============================================= #
[Ee]xported[Oo]bj/
.vs/
/*.userprefs
/*.csproj
/*.pidb
/*.suo
/*.sln*
/*.user
/*.unityproj
/*.booproj
/.idea*/

# ============ #
# OS generated #
# ============ #
.DS_Store*
._*
.Spotlight-V100

Stack Overflow 社区,在此先感谢您。这让我抓狂。

我知道问题与 unity 创建的文件夹有关,并且不知何故弄乱了 ignoring/tracking 的顺序,我正在调查。

无法调用文件Unity.gitignore;它必须被称为 .gitignore。重命名为.gitignore即可生效。

我从未使用过名为 Unity.gitignore 的 .gitignore。也许我错了,但我认为文件名必须是 .gitignore 字面意思,即没有任何后缀。

[编辑]:
您可以通过以下命令查看git的忽略规则:

git check-ignore -v MY_FILE_NAME

要检查的另一点是 .gitignore_global 文件,尽管我认为这不能解决您的问题。

最后一点 Unix 与 Windows:你有合适的行尾吗,尤其是在 Windows 下工作时?

例如,您可以在 GutHub 上查看我的一个 Unity 项目 https://github.com/kayy/BundleVersionChecker。这绝对有效

我最终找到了这个问题,看起来它实际上是第 2 个问题,尽管我认为我已经很小心地避免了这个问题。我拥有的存储库索引不是 "fresh",而是跟踪了同一项目早期迭代遗留下来的文件。

解决方案是删除 .gitignore 并取消跟踪所有文件。我认为作为替代方案,我可以只创建一个新的存储库并只上传资产文件夹和项目设置文件夹以及我已经拥有的 .ignore 文件。

所以是的,橡皮鸭,对不起。

检查你的 .gitignore 文件是否有不需要的文本,总是在 Visual studio 代码中编辑 .gitignore 文件而不是 textedit 或任何其他编辑器。除了检查文件扩展名之外。