午後わてんのブログ

ベランダ菜園とWindows用アプリ作成(WPFとC#)

Visual StudioのGit変更ウィンドウに必要ないファイルがたくさん表示されるようになったけど、.gitignoreで解決

Visual StudioのGit変更で見慣れないファイル?がたくさん表示されるようになった

なにこれ
MainWindow.xaml.csに変更を加えてデバッグ開始しただけで6個も更新されたことになっている、dllとかpdbとか
今までだったら変更したMainWindow.xaml.csだけが表示されるだけだった
これで実際にコミットやらプッシュとかするとギットハブのほうでも、この要らないファイルが表示(コピー)される

環境

解決?方法

今までの正常なリポジトリ(フォルダ)の中に.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

github.com

こちらから新しいのをダウンロードして置き換えた


新旧.gitignoreファイル比較

新旧比較
左がダウンロードしたもの、右が今まで使っていたもの
違いはあるみたいだけど、さっぱりわからん
どっちでも動作は期待どおりだったけど、新しい方がいいはず


結果、今まで通りになった

直したリポジトリにプロジェクトを新規作成して確認

プロジェクトを新規作成


作成直後のGit変更の様子
更新箇所は7つ、今までもたしかこれくらいだった
異常だったときは、この時点で20~30個表示されていた

MainWindow.xaml.csだけに変更を加えてデバッグ

今まで通り、直った!
余計な変更は無視されて、今まで通りMainWindow.xaml.csだけになった!
こういうのでいいんだよ、こういうので

直ったけど

異常だったときに作成したプロジェクトに対しては.gitignoreが効かないようで、余計なファイルが変更対象のままになっている、これは諦めて削除して、新規作成でコピペでいいや


.gitignoreにたどり着くまでと感想

.suo?Visual Studio?git?
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翻訳

Google翻訳してからリストから選択しているところ
gitignoreってもの自体を知らなかったから日本語になっても気づくわけない

あとはVisual Studioリポジトリを新規作成して、それをギットハブにクローンすればgitignoreも適切なものになっているのかも?



関連記事

前回の記事は9日前
gogowaten.hatenablog.com