VSCodeのソース管理に「保留中の変更」が大量発生しているのを直したい
おはようございます。タカヒデです。
本日は、「VSCodeのソース管理に「保留中の変更」が大量発生した場合に直す方法」を紹介します。
- VSCodeのソース管理に大量の「保留中の変更」が出てしまった方
ぜひ本記事を参考にして解決させてください。
発生した事象
VSCodeでWSLを利用していたら「ソース管理」に大量の保留中発生。
作ったファイルは数個なのに、「保留中の変更10,000個」。うーん明らかにおかしい。何か間違えている。
ということで今回はそんな事象が起きた時の対処法を紹介します。

原因:Gitリポジトリがホームディレクトリになっていた
先に原因を伝えると、Gitを管理するリポジトリが「プロジェクトのディレクトリ」ではなく「ホームディレクトリ」になっていたというもの。
本来Gitは「各プロジェクトフォルダ」に使うものです。
しかし、過去に意図せずどこかでのタイミングで、「ホームディレクトリに対しGit操作」をしてしまったが為に、ホーム直下にGitができていました。
その結果、Gitは「ホーム配下の全部ファイルを、1つのプロジェクトとして管理する」と認識してしまったようです。
これにより、VSCodeのソース管理が「10,000件」となってしまいます。
現在の状態の確認
実際に、いまどのリポジトリを見ているか確認してみましょう。
以下のコマンドを実行してください。
git rev-parse --show-toplevel正しい状態であれば以下のようにプロジェクトフォルダが出てきます。
/home/takahide/test一方、NGの状態だと、ホームディレクトリになっています。
これは「ホーム全体がリポジトリ」になっている状態です。

早速直していきましょう。
対処:誤って作成した.gitを退避・削除する
では対処方法です。
2種類の方法を紹介します
- ホーム直下にできた「.git」を削除する(最短方法)
- 「.git」を削除せず退避する(安全策)
ではそれぞれ見ていきましょう。
方法①:ホーム直下にできた「.git」を削除する(最短方法)
ホーム直下にできた、「.git」を削除する方法です。
簡単かつ、一発で静かになります。
手順①:ホームディレクトリにいることを確認
まずは、以下のコマンドを実行し、ホームディレクトリにいるかどうかを確認してください。
pwd手順②:ホーム直下の「.git」を削除
ホーム直下にある「.git」を削除します。以下のコマンドを実行してください。
rm -rf ~/.git手順③:確認
これで「.git」は削除されています。
正しく削除されているか確認しましょう。
git rev-parse --show-toplevel↓こんな感じの結果が出れば完了です。

これでホームディレクトリがGit管理されている状態は解除されました。
↓大量のソース管理が消えていることが分かります。

方法②:「.git」を削除せず退避する(安全策)
「いやいや、いきなり削除するのは怖いから嫌よ」
そんな場合はこちらの「削除せず退避する方法」を活用してください。
こちらも最終的には削除しますが、安全を確認した後に削除することができます。
手順①:ホームディレクトリにいることを確認
まずは、以下のコマンドを実行し、ホームディレクトリにいるかどうかを確認してください。
pwd手順②:「.git」をリネームする
削除より先に、「.git_BACKUP」といった名前にリネームします。
これでホームディレクトリはリポジトリ扱いされなくなります。
mv ~/.git ~/.git_BACKUP手順③:確認
これで「.git」は削除されています。
正しく削除されているか確認しましょう。
git rev-parse --show-toplevel↓こんな感じの結果が出ればOKです。

手順④:問題がなければバックアップを削除
しばらく使って問題がなければ、退避したものは不要です。
削除してしまいましょう。
rm -rf ~/.git_BACKUPこれで、ソース管理に「保留中の変更」が大量発生している事象は解決しました。
まとめ
VSCodeのソース管理に「保留中の変更」が大量発生する問題は解決できましたでしょうか。
- 原因:Gitリポジトリがホームディレクトリになっていた
- 対処:誤って作成した.gitを退避・削除する
とにかくGitは「各プロジェクトフォルダ」単位で使いましょう。ということですね。
この記事が誰かの問題解決につながれば幸いです。
お疲れさまでした。
