Visual Studio 檔案已複製到 GitHub 但在 .gitignore 中列出

Visual Studio 檔案已複製到 GitHub 但在 .gitignore 中列出

當 .gitignore 檔案列出檔案時,我無法弄清楚在嘗試阻止 Visual Studio 2019 團隊資源管理器將檔案複製到 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/表示這些是來自檔案系統根的絕對路徑。

對於將儲存庫拉到 C: 磁碟機上任何位置的 Windows PC,您的 .gitignore 將忽略C:\.vs\和中的檔案C:\x64\

刪除前導斜線並將它們保留為.vs/x64/
然後它們將被解釋為相對於 .gitignore 檔案的路徑。

相關內容