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 ファイルに対する相対パスとして解釈されます。

関連情報