gpt4 book ai didi

gitignore 丢失了一些二进制文件(DLL 和 PE)

转载 作者:行者123 更新时间:2023-12-02 23:31:39 25 4
gpt4 key购买 nike

我使用最新版本的 Github Desktop。我的存储库包含一个相当大的 C# 解决方案,其中包含许多子目录和项目。我想使用驻留在本地存储库目录根目录中的 .gitignore 文件忽略所有 R# 缓存文件和编译的二进制文件。此存储库中的任何位置都没有其他 gitignore,并且任何父目录中都没有。我当前的 gitignore 是这样的:

*.suo
*.user
_ReSharper.*
bin
obj
packages
*.cache
*.pdb
*.dll
*.exe
*.xml

当我进行更改、重新编译并测试所有内容时,我打开 Github Desktop。它捕获几乎所有应忽略的文件,仅一些 .dll.pdb.exe s 不会被忽略,并且始终显示为已更改:

img

现在,这个存储库中有更多的二进制文件。仅错过了屏幕截图中的特定内容。

这个问题可以修复吗,和/或可以更改 gitignore 以捕获它应该捕获的所有文件吗?

这是我尝试过的:

  • 删除并重新克隆存储库
  • 删除并手动重新创建 gitignore
  • 右键单击 -> 在 GitHub Desktop 客户端中按文件扩展名忽略。这不起作用,更糟糕的是,它会在 gitignore 中创建重复掩码
  • 检查了 Github Desktop 可访问的目录中是否存在冲突的 gitignore

最佳答案

也许在修改 .gitignore 之前,您的文件已经被 git 跟踪了?这些文件(至少在 git 1.9.1 中)在添加到 .gitignore 时不会被忽略。

例如,我在我的存储库之一的根文件中创建了一个“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 仍在被跟踪。

要强制忽略该文件,您可以将其删除,添加并提交删除以及 .gitignore 更改,然后恢复该文件。

关于gitignore 丢失了一些二进制文件(DLL 和 PE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35439563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com