当 .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 按预期工作,请执行以下步骤,
- 删除所有您想要本地忽略的文件。
- 然后提交并推送。现在您的存储库和 .gitignore 文件处于一致状态。
- 重新启动 VS 并执行拉取。
- 构建您的解决方案/项目。
现在观察你的 git 更改窗口,这些文件不应该被列出,尽管它们在你的本地机器上生成。
答案2
/.vs/
和中的前导斜杠/x64/
表示这些是从文件系统根目录开始的绝对路径。
对于将 repo 拉到 C: 驱动器上任何位置的 Windows PC,您的 .gitignore 将忽略C:\.vs\
和中的文件C:\x64\
。
删除前导斜杠,保留 和.vs/
。x64/
然后
它们将被解释为相对于 .gitignore 文件的路径。