Visual StudioのGit変更ウィンドウに必要ないファイルがたくさん表示されるようになったけど、.gitignoreで解決
Visual StudioのGit変更で見慣れないファイル?がたくさん表示されるようになった
MainWindow.xaml.csに変更を加えてデバッグ開始しただけで6個も更新されたことになっている、dllとかpdbとか
今までだったら変更したMainWindow.xaml.csだけが表示されるだけだった
これで実際にコミットやらプッシュとかするとギットハブのほうでも、この要らないファイルが表示(コピー)される
環境
- Windows 10 Home バージョン 21H2
- Visual Studio Community 2022 Version 17.4.3
- WPF
- C#
- .NET 6.0
解決?方法
今までの正常なリポジトリ(フォルダ)の中に.gitignoreっていうファイルがあるので、それを異常なリポジトリにコピペする
これで解決したけどもう少し
.gitignoreはテキストファイルのようで、中を見たら文頭に
## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
ってあった
Google翻訳して
Visual Studio の一時ファイルを無視し、結果をビルドし、 ## 一般的な Visual Studio アドオンによって生成されたファイル。 ## ## から最新のものを入手
ってことなので
gitignore/VisualStudio.gitignore at main · github/gitignore
こちらから新しいのをダウンロードして置き換えた
新旧.gitignoreファイル比較
左がダウンロードしたもの、右が今まで使っていたもの
違いはあるみたいだけど、さっぱりわからん
どっちでも動作は期待どおりだったけど、新しい方がいいはず
結果、今まで通りになった
直したリポジトリにプロジェクトを新規作成して確認
更新箇所は7つ、今までもたしかこれくらいだった
異常だったときは、この時点で20~30個表示されていた
MainWindow.xaml.csだけに変更を加えてデバッグ
余計な変更は無視されて、今まで通りMainWindow.xaml.csだけになった!
こういうのでいいんだよ、こういうので
直ったけど
異常だったときに作成したプロジェクトに対しては.gitignoreが効かないようで、余計なファイルが変更対象のままになっている、これは諦めて削除して、新規作成でコピペでいいや
.gitignoreにたどり着くまでと感想
suoファイルはたくさん表示されていたものから適当に選んだファイル
Visual Studioが原因なのかギットハブなのかわからないので両方で検索
関連キーワードで.gitignoreっていう見たことないのがあったので見てみる
このあたり見たけどわからんかった、どうやら設定ファイルみたいなものを編集する必要がある?って程度
こんなこと新規プロジェクトごとにしてたら日が暮れるどころか年が暮れるから、これは違う
除外とか無視とかの意味みたい
んで、.gitignoreをデスクトップ検索したらいっぱい出てきて、場所はリポジトリのフォルダごとに配置されていた
テキストエディタで開いてみたら
各リポジトリと関連があるのかと、リポジトリ名で検索したけどそれっぽい記述はなかったから、そのままコピペして確認したら直った
あとはこの記事を書いてるときに英語でなんか書いてあるのに気づいて翻訳したら最新のものはこちら!だったってわけ
原因は、今までは自動で作成されていた.gitignoreファイルが、今回新規作成したリポジトリには作成されなかったこと、またその原因で思い当たるのは、前回の記事に続いて1度ブルースクリーンエラーになったことがあって、そのタイミングがVisual Studioを終了(Xボタンクリック直後)するときだったので、Visual Studioに問題があるのかもと考えて、3日前にVisual Studioの修復インストールした、これがかなり関係ありそう
ブルースクリーンエラーはそれから発生していない
わからんことだらけだけど直ってよかったわ
2023/01/15追記
さっきギットハブのリポジトリ新規作成していて気づいた
新規作成画面の中にAdd.gitignoreって項目があって、初期値がNoneなっている、これをVisual Studioに指定すればVisual Studio用のgitignoreが作成されて、いつもどおりのリポジトリで動いた
Google翻訳
gitignoreってもの自体を知らなかったから日本語になっても気づくわけない
あとはVisual Studioでリポジトリを新規作成して、それをギットハブにクローンすればgitignoreも適切なものになっているのかも?
関連記事
前回の記事は9日前
gogowaten.hatenablog.com