gitignore 遗漏了一些二进制文件(DLL 和 PE)
gitignore misses some binary files (DLLs & PEs)
我使用最新版本的 Github Desktop。我的存储库包含一个相当大的 C# 解决方案,其中包含许多子目录和项目。我想忽略所有 R#-cache 文件和使用驻留在本地 repo 目录根目录中的 .gitignore 文件编译的二进制文件。此回购协议中的任何地方都没有其他 gitignore,并且在任何父目录中都没有 none。我当前的 gitignore 是这样的:
*.suo
*.user
_ReSharper.*
bin
obj
packages
*.cache
*.pdb
*.dll
*.exe
*.xml
当我进行更改、重新编译和测试所有内容时,我打开 Github 桌面。它捕获了几乎所有应该被忽略的文件,只有 some .dll
s, .pdb
s 和 .exe
s 不会被忽略并且总是显示为更改:
现在,这个 repo 中有更多的二进制文件。只遗漏了截屏中的具体内容。
这是否可以修复,and/or 是否可以更改 gitignore 以捕获它应该捕获的所有文件?
这是我尝试过的:
- 删除并重新克隆存储库
- 删除并手动重新创建 gitignore
- 在 GitHub 桌面客户端中右键单击 -> 按文件扩展名忽略。这不起作用,更糟的是,它在 gitignore
中创建了 duplicate 掩码
- 检查 Github 桌面
可访问的目录中是否存在冲突的 gitignore
也许在您修改 .gitignore 之前,您的文件已经被 git 跟踪?这些文件(至少在 git 1.9.1 中)在添加到 .gitignore.
时不会被忽略
例如,我在我的一个repos的根文件下创建了一个"test"目录,并在里面放了一个文件:
mkdir test
echo "abc" > test/x.txt
我添加、提交并推送了它。然后我在根目录下编辑了 .gitignore 并添加了这一行:
x.txt
我还对 test/x.txt 进行了编辑并添加了一个新文件:
echo "123" >> test/x.txt
mkdir test2
echo "xyz" > test2/x.txt
现在当我 运行 "git status" 我看到:
modified: .gitignore
modified: test/x.txt
所以 test2/x.txt 被正确地忽略了,但是 test/x.txt 仍然被跟踪。
要强制忽略该文件,您可以将其删除,添加并提交删除连同.git忽略更改,然后恢复文件。
我使用最新版本的 Github Desktop。我的存储库包含一个相当大的 C# 解决方案,其中包含许多子目录和项目。我想忽略所有 R#-cache 文件和使用驻留在本地 repo 目录根目录中的 .gitignore 文件编译的二进制文件。此回购协议中的任何地方都没有其他 gitignore,并且在任何父目录中都没有 none。我当前的 gitignore 是这样的:
*.suo
*.user
_ReSharper.*
bin
obj
packages
*.cache
*.pdb
*.dll
*.exe
*.xml
当我进行更改、重新编译和测试所有内容时,我打开 Github 桌面。它捕获了几乎所有应该被忽略的文件,只有 some .dll
s, .pdb
s 和 .exe
s 不会被忽略并且总是显示为更改:
现在,这个 repo 中有更多的二进制文件。只遗漏了截屏中的具体内容。
这是否可以修复,and/or 是否可以更改 gitignore 以捕获它应该捕获的所有文件?
这是我尝试过的:
- 删除并重新克隆存储库
- 删除并手动重新创建 gitignore
- 在 GitHub 桌面客户端中右键单击 -> 按文件扩展名忽略。这不起作用,更糟的是,它在 gitignore 中创建了 duplicate 掩码
- 检查 Github 桌面 可访问的目录中是否存在冲突的 gitignore
也许在您修改 .gitignore 之前,您的文件已经被 git 跟踪?这些文件(至少在 git 1.9.1 中)在添加到 .gitignore.
时不会被忽略例如,我在我的一个repos的根文件下创建了一个"test"目录,并在里面放了一个文件:
mkdir test
echo "abc" > test/x.txt
我添加、提交并推送了它。然后我在根目录下编辑了 .gitignore 并添加了这一行:
x.txt
我还对 test/x.txt 进行了编辑并添加了一个新文件:
echo "123" >> test/x.txt
mkdir test2
echo "xyz" > test2/x.txt
现在当我 运行 "git status" 我看到:
modified: .gitignore
modified: test/x.txt
所以 test2/x.txt 被正确地忽略了,但是 test/x.txt 仍然被跟踪。
要强制忽略该文件,您可以将其删除,添加并提交删除连同.git忽略更改,然后恢复文件。