Hapus Ghost Git Repo dari VS Code Source Control
Ada folder misterius dengan 10.000+ perubahan di Source Control VS Code? Itu ghost Git repo. Ini cara hapusnya selamanya dalam tiga langkah cepat.

Lo buka VS Code. Semua keliatan normal. Terus lo lirik panel Source Control. Ada folder yang lo gak kenal nongkrong di sana. Badge nyala. 10.000+ perubahan. Lo gak pernah minta ini.
Lo cek Explorer. Folder itu bahkan gak ada di workspace lo. Tapi Source Control tetep ngotot itu ada di sana. Watching. Tracking. Nunjukin ribuan perubahan yang gak ada artinya sama sekali.
Ini ghost Git repo. Dan ngusirinnya lebih gampang dari yang lo kira.
Yang Sebenernya Terjadi
Penyebabnya hampir selalu sama: git init yang nyasar di parent directory.
Bayangin skenario ini. Lo bikin project folder. Misalnya /home/user/projects/my-app. Di dalamnya lo scaffold directory frontend dan backend. Lo install Next.js di frontend dan setup backend lo. Keduanya punya Git repo sendiri yang proper.
Tapi di suatu titik, git init jalan satu level terlalu tinggi. Mungkin script setup yang trigger. Mungkin lo ketik manual tanpa mikir. Mungkin extension IDE yang jalanin otomatis.
Sekarang /home/user/projects/ jadi Git repository. Dia lihat semua yang ada di dalamnya sebagai untracked files. node_modules lo, build artifacts, downloaded packages, semuanya. VS Code detect parent repo ini dan nunjukinnya di Source Control sebagai entry terpisah. Itu ghost lo.

Cap 10.000 itu VS Code yang lagi protect dirinya sendiri. Angka aslinya bisa jauh lebih tinggi.
Tiga Cara Ngapusinnya
Pilih fix yang sesuai situasi lo.
Close Repository (Fix UI Paling Cepet)
Cara ini nyembunyiin ghost dari VS Code tanpa nyentuh file apapun. Bagus buat cleanup cepet.
Buka tab Source Control. Cari entry yang nunjukin ribuan perubahan itu. Klik kanan langsung di nama repository di bagian atas section itu. Pilih Close Repository dari menunya.
VS Code langsung hapus dari panel. Dia ingat pilihan ini buat workspace yang lagi aktif. Folder .git masih ada di disk, tapi VS Code berhenti nunjukinnya.
Pake ini kalo lo butuh gangguannya ilang sekarang dan bakal beresin akar masalahnya nanti.
Remove Folder from Workspace
Jalan kalo parent folder entah gimana keselip kebuka di Explorer sidebar lo.
Pindah ke tab Explorer. Cari folder yang bikin masalah. Klik kanan. Pilih Remove Folder from Workspace.
Ini hapus folder itu dari kesadaran VS Code buat sesi ini. File lo gak kehapus. Folder dan semua isinya tetap aman di disk.
Hapus Folder .git (Fix Permanen)
Ini fix yang sebenernya. Hapus Git tracking yang nyasar itu sepenuhnya.
Pertama, temuin folder .git yang tersembunyi. Terus hapus. Repository-nya langsung lenyap. VS Code berhenti lihat. Selamanya.
Buka terminal VS Code. Navigasi ke atas dari project lo saat ini buat nyari parent yang bermasalah:
cd ..
ls -laDi macOS dan Linux:
rm -rf .gitDi Windows PowerShell:
Remove-Item -Recurse -Force .gitIni cuma hapus metadata Git-nya. File project asli lo tetap utuh. Repo frontend dan backend di dalam folder itu gak kena. Mereka punya folder .git masing-masing dan tetap independent.
Lakukan ini cuma kalo parent folder emang gak pernah dimaksudkan jadi repo beneran. Kalo ada commit history penting di dalamnya, stop dulu. Backup dulu baru lanjut.
Cara Konfirmasi Folder Mana yang Punya .git Tersembunyi
Gak yakin ghostnya ngumpet di mana? Buru dari terminal aja.
Buka terminal VS Code. Mulai dari dalam project lo dan jalan ke atas:
# Dari dalam project lo
cd ..
ls -la | grep "^d.*\.git"
# Kalo gak ada, naik satu level lagi
cd ..
ls -la | grep "^d.*\.git"Di macOS dan Linux lo juga bisa cari dari home directory:
find ~ -maxdepth 4 -name ".git" -type d 2>/dev/nullIni scan sampai empat level ke bawah dari home folder lo. Daftar semua directory .git yang ditemuin. Yang gak lo expect, itulah ghost-ghost lo.
Di Windows, pake PowerShell:
Get-ChildItem -Path $HOME -Recurse -Depth 4 -Filter ".git" -Force -ErrorAction SilentlyContinue | Select-Object FullNameBegitu lo lihat path .git yang gak lo kenal, lo tau persis apa yang harus dihapus.
Baca juga: Hentikan Git Nanya Kredensial di VS Code buat beresin masalah Git umum lain yang sering bunuh developer flow.
Cegah Ini Kejadian Lagi
Ghost-nya udah gone. Sekarang pastiin dia gak balik lagi.
Adjust git.autoRepositoryDetection
By default, VS Code agresif banget nyari Git repo. Dia lihat ke parent directory dan sibling folder. Makanya dia bisa nangkep yang nyasar juga.
Buka VS Code Settings. Tekan Ctrl+, di Windows dan Linux, atau Cmd+, di macOS. Search git.autoRepositoryDetection.
Ganti nilainya dari true ke subFolders.
Dengan subFolders, VS Code cuma lihat ke dalam folder yang udah kebuka di workspace lo. Dia abaikan parent directory sepenuhnya. Gak ada lagi repo tiba-tiba muncul dari mana-mana.
Kalo lo mau kontrol yang lebih ketat, set ke false. VS Code cuma akan track repository di root persis dari folder yang lo buka.
Tambahin langsung ke settings.json lo buat presisi:
{
"git.autoRepositoryDetection": "subFolders"
}Pake .gitignore di Parent Directory
Kalo parent directory terpaksa tetap jadi Git repo karena alasan tertentu, tambahin .gitignore yang mengabaikan semua yang ada di child project folder. Ini cegah banjir 10.000 perubahan.
Buat .gitignore di parent directory:
# Ignore semua file child project
frontend/
backend/
node_modules/
*.log
.DS_StoreIni kasih tau Git buat berhenti track path-path itu. Source Control jadi tenang. Repo project asli lo di dalamnya tetap gak kena.
Baca juga: Fix VS Code Git Tree View Cepat buat fix cepet lain yang bikin kerja dengan multiple repo di VS Code jauh lebih nyaman.
Kesimpulan
Ghost Git repo hampir selalu kecelakaan. Satu git init nyasar di directory yang salah. VS Code ngelakuin sisanya dengan jadi helpful dan detect otomatis.
Fix permanennya simpel. Temuin folder .git yang gak pada tempatnya. Hapus. Adjust git.autoRepositoryDetection ke subFolders biar VS Code berhenti hunting repo di parent directory.
Panel Source Control lo balik lagi nunjukin cuma yang penting. Gak ada lagi badge 10.000 perubahan yang haunting workflow lo.


