Hapus pemetaan git di Visual Studio 2015


157

Pertanyaan ini tidak ada hubungannya dengan git sendiri; lebih tepatnya, itu ada hubungannya dengan menghapus binding / mapping ke repositori git yang sebelumnya dilihat oleh Visual Studio 2015 (VS2015).

Berikut ini cuplikan layar masalahnya: Tombol hapus berwarna abu-abu

Perhatikan bahwa tombol hapus berwarna abu-abu (dinonaktifkan). Bagaimana saya bisa menghapus entri ini dari daftar "Local Git Repository"?


Sangat mudah dengan rilis NoGit yang saat ini tidak dipublikasikan, lihat stackoverflow.com/a/33789257/2284031
Ben Wilde

Ketika menambahkan solusi baru, perhatikan bahwa "add to git Repository" tidak dicentang di kanan bawah yang kecil
Iman

1
Tidak ada jawaban di bawah ini yang berfungsi untuk saya. Jadi saya baru saja menggunakan solusi: tutup Studio, ganti nama folder .git dengan nama apa pun misalnya .git1, buka Studio, ganti nama folder git kembali ke .git. Ingat bahwa untuk memberikan nama folder dimulai dengan titik di Windows, Anda perlu menambahkan titik tambahan di akhir nama yaitu ".git1."
bruha

Jawaban:


210

Solusinya jauh lebih sederhana dari itu. Anda hanya perlu menghapus tiga file dari proyek UNC Path.

Arahkan ke UNC Path solusi Anda.

Contoh: C: \ Users \ Nama Pengguna Anda \ Documents \ Visual Studio 2015 \ Projects \ Folder Proyek Anda

Kemudian secara permanen menghapus ("SHIFT + DEL") .git*file dan folder. Ada dua file dan satu folder, yang mungkin disembunyikan jadi pastikan Anda memiliki folder dan opsi pencarian> Lihat> tampilkan file, folder, dan drive yang tersembunyi (Tombol Radio) Dipilih.

File yang akan dihapus secara permanen adalah:

.gitignore (file)

.gitattributes (file)

.git (folder)

Buka kembali Visual Studio dan tidak ada lagi hubungan dengan Kontrol Sumber Git. Jika Anda ingin membawanya sejauh menghapusnya dari registri seperti yang disebutkan di atas, Anda bisa, tapi itu tidak perlu selain dari "pemeliharaan rumah" mesin Anda.


2
+1. Dalam pengalaman saya, bermain dengan registri sepertinya tidak berfungsi dengan baik. Saya melakukan ini setelah menyalin proyek saya ke lokasi lain (vm ke lokal) dan setelah menghapus .gitignore, .gitattributes, dan .git, ini berhasil.
cr1pto

42
-1 Ini tidak menghapus pemetaan git di VS, ini menghapus repositori git itu sendiri. Alasan VS berhenti dipetakan untuk git dengan langkah-langkah ini adalah Anda telah menghancurkan repo. Bagaimana dengan orang yang ingin menggunakan git, tetapi tidak ingin VS terlibat? Inilah yang diminta OP.
Rob Levine

5
@ Richard_D - pada dasarnya - jika Anda menggunakan git dengan cara standar, maka folder .git ini adalah git. Ini adalah salinan lokal Anda dari semua yang ada di server hulu Anda dan juga mungkin satu-satunya salinan cabang lokal yang Anda buat tetapi tidak didorong. Banyak orang menggunakan git dari baris perintah, atau alat seperti SourceTree dan tidak ingin menggunakan integrasi git di VS. Dalam hal ini, yang kami inginkan adalah menonaktifkan dukungan git di VS, tidak benar-benar mengutak-atik instalasi git lokal kami. Apakah itu lebih masuk akal, atau sudahkah saya salah memahami kekhawatiran Anda?
Rob Levine

4
Ini ide yang menghebohkan . Kelalaian kriminal juga muncul dalam pikiran. Pengecer sabuk pengaman adalah satu lagi. Ini tidak menghapus pemetaan apa pun, ini menghapus repositori itu sendiri.
Panagiotis Kanavos

2
Dalam kasus saya ini berfungsi dengan baik. Secara tidak sengaja saya telah mencoba untuk menambahkan proyek ke kontrol sumber dan beberapa cara memasukkannya ke dalam repositori GIT secara lokal. Ini mengalahkan tujuan kontrol sumber karena jika drive crash saya kehilangan segalanya. Saya mencoba untuk terhubung ke TFS dan terus default kembali ke GIT. Dengan menghapus semua file GIT, dan membuka kembali VS, itu berfungsi dengan baik untuk saya. +! Tuan yang baik!
logixologist

59

Alat -> Opsi -> Kontrol Sumber -> Plug-in Kontrol Sumber Saat Ini: Tidak ada


4
Ini adalah jawaban nyata - dalam kasus saya, meskipun saya selalu menggunakan Team Foundation Server untuk kontrol versi. Sepertinya Microsoft mendorong Git - tidak suka.
Alexey Shevelyov

Ini hanya menutup proyek dan menonaktifkan kontrol sumber di studio visual. Lain kali Anda membuka integrasi proyek git diaktifkan kembali.
Skye MacMaster

40

Versi pendek

  1. Hapus entri yang sesuai di bawah HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Hapus HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositoryjika sama dengan repo yang ingin Anda hapus.

Latar Belakang

Sepertinya Visual Studio melacak semua repositori git yang telah dilihatnya. Bahkan jika Anda menutup proyek yang mereferensikan repositori, entri lama mungkin masih muncul dalam daftar.

Masalah ini bukan hal baru untuk Visual Studio:

VS2013 - Bagaimana cara menghapus repositori git lokal dari jendela tim explorer ketika opsi Hapus selalu dinonaktifkan?

Hapus Git yang mengikat dari solusi Visual Studio 2013?

Ini semua sepertinya banyak pekerjaan untuk sesuatu yang mungkin harus menjadi fitur bawaan. "Solusi" di atas menyebutkan membuat modifikasi pada file .git dll .; Saya tidak suka gagasan harus mengubah hal - hal di luar Visual Studio untuk mempengaruhi hal-hal di dalam Visual Studio. Meskipun solusi saya perlu melakukan beberapa pengeditan registri (dan eksternal untuk VS), setidaknya ini hanya mempengaruhi VS. Inilah cara mengatasi (baca: retas):

Instruksi terperinci

Pastikan Visual Studio 2015 ditutup sebelum mengikuti langkah-langkah ini.

1. Buka regedit.exe dan arahkan ke

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories

Regedit repositori untuk VS

Anda mungkin melihat beberapa nilai "hash" yang mewakili repositori yang dilacak VS.

2. Temukan repositori git yang ingin Anda hapus dari daftar. Lihat namedan pathnilai - nilai untuk memverifikasi repositori yang benar untuk dihapus:

verifikasi repo untuk dihapus

3. Hapus kunci (dan subkunci yang sesuai).

(Opsional: sebelum menghapus, Anda dapat mengklik kanan dan memilih Ekspor untuk membuat cadangan kunci ini jika Anda membuat kesalahan.) Sekarang, klik kanan pada kunci (dalam kasus saya ini AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9dan pilih Hapus ).

4. Periksa apakah LastUsedRepositorykunci menunjuk ke "sesuatu yang lain."

Jika pemetaan repositori yang ingin Anda hapus pada langkah-langkah di atas disimpan LastUsedRepository, maka Anda juga harus menghapus kunci ini. Navigasi pertama ke:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General

lokasi kunci umum

dan hapus kunci LastUsedRepository(kunci akan dibuat kembali oleh VS jika diperlukan). Jika Anda khawatir akan menghapus kunci, Anda bisa memodifikasi nilainya dan mengaturnya ke string kosong:

hapus repo yang terakhir digunakan

Ketika Anda membuka Visual Studio 2015 lagi, ikatan repositori git seharusnya tidak muncul dalam daftar lagi.


Saya tidak berpikir bermain dengan registri adalah ide yang bagus ... jika ini berhasil, keren, tapi menurut pengalaman saya ini bukan taruhan yang paling aman. Lihat jawaban @ helix untuk solusi yang jauh lebih aman.
cr1pto

3
@Richard_D - jawaban helix tidak menghapus pemetaan VS ke git, itu menghancurkan repo git itu sendiri, yang bukan apa yang diminta OP. Meretas registri tidak ideal, tetapi setidaknya upaya untuk memecahkan masalah yang sebenarnya "Saya menggunakan repo git tetapi tidak ingin VS terlibat"
Rob Levine

Saya melihat bahwa ini menjawab pertanyaan OP, tetapi apakah ini jawaban yang benar? Saya tidak yakin. Silakan lihat pertanyaan saya di jawaban @ Helix. Terima kasih Rob, hargai wawasan Anda.
cr1pto

1
VS2015 baru saja mengembalikan entri registri ini saat berikutnya solusi dibuka.
Amit G

1
Pengembang seharusnya tidak takut mengedit Windows Registry. Terutama ketika itu jelas merupakan kunci Visual Studio! Menghapus direktori .git bukanlah pilihan bagi saya.
0xF

21

Repositori Git dapat dihapus dari daftar Repositori Local Git di VS-2015 ketika itu bukan lagi proyek yang aktif.

Cuplikan layar Anda hanya memiliki satu repositori yang ada, dan ini aktif, sehingga Anda tidak dapat menghapusnya.

Ketika Anda memiliki dua atau lebih repositori, salah satunya akan ditampilkan dalam BOLD yang mewakili repositori aktif. Repositori non-aktif lainnya dapat, pada saat itu, dihapus.

Jadi, untuk menyelesaikan masalah Anda, jika Anda terhubung dengan repositori lokal kedua, Anda akan dapat menghapus yang Anda sorot pada tangkapan layar Anda.

Sayangnya, Team Explorer tampaknya selalu membuat satu repositori tetap aktif. Tidak yakin bagaimana meyakinkannya untuk melepaskan semuanya tanpa beralih ke repositori lain.


Tetapi bagaimana Anda "Menghubungkan" ke repositori lain? Sepertinya begitu VS berada di repo, itu tidak memungkinkan Anda untuk terhubung ke yang lain menggunakan opsi "Add to Sorce Control" yang sama di menu explorer solusi. (nvm menghapus file .git dan git lainnya dari solusi dir bekerja untuk saya.)
Gram

@Gram. Di bawah Repositori Local Git (lihat tangkapan layar OP) Anda dapat membuat repositori Git 'Baru' atau 'Mengkloning' yang sudah ada. Jika Anda membuat repositori git baru, berikan path pada hard drive lokal Anda, lalu klik Buat. Setelah itu, akan muncul di daftar Anda. Klik dua kali pada repositori baru dan itu akan disorot dalam teks tebal dan di belakang layar menjadi repositori aktif. Pada titik itu Anda dapat menghapus repositori lain dari daftar.
Chris C.

Itu membuat repo lokal baru, tidak menghubungkan proyek yang ada ke repo github yang ada. Ups, pada pembacaan kedua saya melihat menghapus adalah satu-satunya pertanyaan. Bagaimana menghubungkan ke yang sudah ada bukan bagian dari pertanyaan, kesalahan saya.
Gram

18

Menghapus folder tersembunyi .git berhasil untuk saya.


Ini akan mengubah folder dari checkout git menjadi folder. Tentu orang tidak boleh mengubah tujuan direktori checkout karena Visual Studio melakukan ini atau itu.
Cristian Amarie

Sangat terlambat, tapi terima kasih banyak ... Ini harus menjadi salah satu pagi yang paling membuat frustrasi dan menjengkelkan sepanjang karir saya sejauh ini, betapa bodohnya fungsi yang mereka miliki untuk menangani ini ...
haag1

11

Jawaban di atas tidak berhasil untuk saya. Entri registri hanya akan secara otomatis ditambahkan kembali ketika saya membuka solusi di Visual Studio. Saya menemukan resolusi di salah satu tautan dalam jawaban Matthews, jadi kredit tetap diberikan kepadanya untuk jawaban yang benar.

Hapus Git yang mengikat dari solusi Visual Studio 2013?

Hapus .gitfolder tersembunyi di folder solusi Anda.

Saya juga menghapus .gitattributesdan .gitignorefile hanya untuk menjaga folder saya bersih.


2
Ini tidak ada gunanya jika Anda ingin proyek dikelola oleh git, hanya saja tidak melalui Team Explorer. Saya menemukan secara pribadi bahwa Team Explorer mengacaukan penggunaan Git saya melalui plugin VS yang berbeda, yang sepenuhnya tidak diinginkan.
Henry Wilson

Ini tidak menghapus add-in git dari VS. VS terus mengalahkan Git Bush dan itu memburuk.
IAbtract

@IAbstract Pertanyaannya tidak meminta untuk menghapus add-in git dari VS.
Gene S

@ Henry Wilson Sepertinya komentar Anda tidak relevan untuk pertanyaan. Jawaban saya menghapus ikatan / pemetaan dari Visual Studio. Ini bekerja untuk saya dan jelas bekerja untuk orang lain.
Gene S

1
Ini sepenuhnya relevan dengan pertanyaan! OP tidak menyatakan apakah dia menggunakan git untuk kontrol sumber atau tidak, dia hanya ingin tahu bagaimana cara menghilangkan ikatan pada VS. Menghapus folder .git dan .gitattributes / .gitignore mengasumsikan Anda tidak benar-benar menggunakan git untuk kontrol sumber, yang mungkin dilakukan banyak orang.
Henry Wilson

9

Ekstensi NoGit hanya menyembunyikan masalah, dengan mematikan penyedia kontrol sumber Git setiap kali solusi dimuat. Itu melakukan pekerjaan ini untuk setiap solusi yang dimuat di Visual Studio.

Saya menyelesaikan dengan membuka proyek lain dan menghapus repositori Git dari Repositori Local Git, seperti yang disarankan oleh Chris C. (Lihat> Penjelajah Tim> Repositori Local Git, pilih repositori yang harus dihapus dan klik Hapus). Kemudian saya menghapus folder .git dari jalur proyek, seperti yang disarankan oleh helix. Membuka kembali proyek dan akhirnya integrasi Git hilang!


Hanya menghapus folder .git dan beberapa file .git dari folder Solusi yang memperbaikinya untuk saya. Terima kasih semuanya!
PTansey

8
  1. Arahkan ke direktori proyek Anda
  2. Klik pada folder Menu-> Tools-> Opsi folder
  3. Pilih tab Lihat
  4. Pilih Di Bawah File dan Folder yang Tampilkan file, folder, dan drive tersembunyi
  5. Klik OK
  6. Hapus .gitfolder
  7. Tutup dan buka kembali Visual Studio Anda
  8. Buka proyek Anda
  9. Selesai :)

Pengkodean yang aman.


1
Itu BUKAN apa yang kita coba lakukan. Kami ingin git, kami hanya tidak ingin integrasi VS dengan git.
Gerry

7

Ini sangat mudah,

  1. pastikan Anda tidak terhubung ke proyek yang ingin Anda hapus

  2. proyek ditutup pada solusi explorer

    Itu saja, jika coba lagi sekarang, tindakan hapus akan diaktifkan


Terima kasih. Ini adalah yang paling sederhana dan harus dipilih sebagai jawabannya.
Ronald Ramos

Berfungsi, jika Anda melihat bahwa opsi hapus terus menonaktifkan, tutup dan buka lagi Visual studio. Saya menggunakannya dengan VS 2017
freedeveloper

5

Saya menghabiskan beberapa waktu untuk menghapus integrasi git dari proyek visual studio 2015 saya. setiap kali saya menghapus git dari visual studio, dan menambahkan TFS dengan mengikuti ini - Tools -> option -> sourceControl -> pemilihan plugin -> server pondasi Visual Studio Team, dulu kembali.

Solusi saya adalah -

membuat lokasi fisik proyek saya- Tampilkan semua file yang tersembunyi. Anda dapat melakukan ini dengan menampilkan opsi file dan folder tersembunyi windows. kemudian saya sadar, ada folder tersembunyi bernama .git sesuatu. Saya menyimpan cadangan penuh dari folder proyek saya dan juga folder git cadangan lain yang diperlukan (saya menyimpan cadangan ini jika proyek saya rusak, sehingga saya dapat kembali ke kondisi sebelumnya).

maka saya telah menghapus folder .git tersembunyi dan file terkait .git lainnya.

lalu saya coba ke Tools -> option -> sourceControl -> pemilihan plugin -> Visual Foundation Foundation server. maka saya membuka proyek dengan visual studio- File -> open -> project / solution ..

setelah itu saya mencari solusi explorer, mengklik kanan namei solusi, lihat opsi "Source control", dan juga di project - klik kanan saya melihat "Add soution to source control" .. dan kali ini tidak menambahkan solusi ke git. .

juga baik untuk menghapus koneksi git dari eksploer kontrol sumber Anda..jika ada ..

jadi yang utama adalah pastikan tidak ada file git tersembunyi di file proyek Anda dan ekstensi git lainnya .. harap ini akan membantu seseorang ..


2

Selain jawaban Juliano Nunes Silva Oliveira , cara paling sederhana dan paling bersih tanpa meretas ke dalam regedit, menghapus folder .git tersembunyi atau mengubah pengaturan VS15 Anda adalah dengan menghubungkan ke repositori yang berbeda. Ketika terhubung, Anda melihat teks repositori lain dengan tebal, lalu pilih repositori lokal Git Anda . Sekarang Anda melihat bahwa

Menghapus

item menu diaktifkan sehingga Anda dapat menghapus repositori lokal Git Anda .

Ini jenis perilaku yang sama ketika berhadapan dengan Branches ketika menggunakan Git dengan visual studio 2015. Anda harus memilih cabang yang berbeda sebelum Anda dapat menghapus cabang yang ingin Anda hapus.

Bagi mereka yang membutuhkan visualisasi untuk memahaminya dengan lebih baik. lihat gambar tautan: cara melakukannya

Selamat coding


1

Itu hanya mencari keberadaan direktori .git di folder solusi. Hapus folder itu, mungkin disembunyikan, dan Visual Studio tidak akan lagi menganggapnya sebagai proyek git.


Itu karena jika Anda menghapusnya bukan lagi proyek git . Anda telah menghancurkan versi Anda secara efektif. Jika itu yang ingin Anda lakukan, baiklah.
gliljas

Itulah yang ingin saya lakukan. Visual Studio memutuskan untuk mengakhiri lisensi 30 hari saya karena saya menambahkannya ke kontrol sumber. Meninggalkan proyek saya dalam keadaan yang membingungkan dan saya tidak dapat mengikuti dokumentasi.
Nathan Goings

1

Hubungkan ke repositori yang berbeda (saya mencoba dengan repositori TFS), kemudian pergi ke Kelola Koneksi, klik kanan repositori Git dan Anda mungkin dapat menghapusnya.

Tetapi Anda masih harus menghapus folder dan file .git secara manual dari jalur proyek Anda sebelum membuka solusinya lagi.


1

@Matthew Kraus Silakan Klik alat dari bilah menu lalu klik Opsi, Temukan Kontrol Sumber lalu pilih "Tidak Ada" dari daftar turun bawah dan Klik OK. Hapus folder .git tersembunyi dari folder proyek Anda. Buka kembali proyek Anda. masukkan deskripsi gambar di sini


0

Pergi ke Control Panel\User Accounts\Credential Managerdan pilih Windows Credentiallalu hapus akun git.



0

Anda tidak dapat menghapus repositori git lokal ketika sudah terhubung. jadi tutup solusinya, buka solusi lain dan kemudian hapus repositori git lokal. jangan lupa untuk menghapus folder tersembunyi .git berfungsi untuk saya

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.