Visual Studio 文件已复制到 GitHub 但在 .gitignore 中列出

Visual Studio 文件已复制到 GitHub 但在 .gitignore 中列出

当 .gitignore 文件列出文件时,我无法弄清楚在尝试阻止 Visual Studio 2019 Team Explorer 将文件复制到 GitHub 时我遗漏了什么。

我的 .gitignore 文件与 .git 目录位于同一目录中。它的全部内容如下:

# Binaries
/x64/

# VS log files
*.log
*.tlog

# Visual Studio files and folder
/.vs/

当我想要提交更改时,VS 显示以下内容:

在此处输入图片描述

我愿意不是想要提交 Tetris_Game.exe,也不想提交任何 .tlog 或 .log 文件,也不想提交 .vs 文件夹中的任何内容。但是,如您所见,这些文件和目录已列出以供提交。

我遗漏了什么非常明显的信息?

答案1

这是因为所有这些扩展名为 .exe、.tlog 和 .log 的文件也会出现在您的 git 存储库中。因此,对这些文件的任何更改都一定会被跟踪。
要使 .gitignore 按预期工作,请执行以下步骤,

  1. 删除所有您想要本地忽略的文件。
  2. 然后提交并推送。现在您的存储库和 .gitignore 文件处于一致状态。
  3. 重新启动 VS 并执行拉取。
  4. 构建您的解决方案/项目。

现在观察你的 git 更改窗口,这些文件不应该被列出,尽管它们在你的本地机器上生成。

答案2

/.vs/和中的前导斜杠/x64/表示这些是从文件系统根目录开始的绝对路径。

对于将 repo 拉到 C: 驱动器上任何位置的 Windows PC,您的 .gitignore 将忽略C:\.vs\和中的文件C:\x64\

删除前导斜杠,保留 和.vs/x64/然后
它们将被解释为相对于 .gitignore 文件的路径。

相关内容