Visual Studio 2015'te git eşlemesini kaldırma


157

Bu sorunun git'in kendisi ile ilgisi yoktur; bunun yerine, Visual Studio 2015'in (VS2015) daha önce gördüğü bir git deposuna bağlanma / eşleme kaldırılmasıyla ilgilidir.

İşte sorunun ekran görüntüsü: Kaldır düğmesi gri görünüyor

Kaldır düğmesinin gri (devre dışı) olduğuna dikkat edin. Bu girdiyi "Yerel Git Depoları" listesinden nasıl kaldırabilirim?


Şu anda yayınlanmamış NoGit sürümüyle kolaydır, bkz. Stackoverflow.com/a/33789257/2284031
Ben Wilde

Yeni bir çözüm eklerken, "git Repository'ye ekle" nin sağ altta kontrol edilmediğine dikkat edin
Iman

1
Aşağıdaki cevapların hiçbiri benim için işe yaramıyor. Bu yüzden sadece bir geçici çözüm kullandım: Studio'yu kapatın, .git klasörünü .git1 gibi herhangi bir adla yeniden adlandırın, Studio'yu açın, git klasörünü yeniden .git olarak yeniden adlandırın. Windows'ta bir nokta ile başlayan bir klasör adı vermek için, adın sonuna fazladan bir nokta eklemeniz gerektiğini unutmayın, yani ".git1".
bruha

Yanıtlar:


210

Çözüm bundan çok daha basit. Proje UNC Yolu'ndan üç dosyayı kaldırmanız yeterlidir.

Çözümünüzün UNC Yoluna gidin.

Örnek: C: \ Kullanıcılar \ Kullanıcı Adınız \ Belgeler \ Visual Studio 2015 \ Projeler \ Proje Klasörünüz

Ardından .git*dosyaları ve klasörü kalıcı olarak silin ("SHIFT + DEL") . Gizlenebilecek iki dosya ve bir klasör vardır, bu nedenle klasörlerinizi ve arama seçeneklerini> Görünüm> gizli dosyaları, klasörü ve sürücüleri göster (Radyo Düğmesi) Seçili olduğundan emin olun.

Kalıcı olarak silinecek dosyalar:

.gitignore (dosya)

.gitattributes (dosya)

.git (klasör)

Visual Studio'yu yeniden açın ve Git Kaynak Denetimi ile artık bir ilişki yok. Eğer yukarıda belirtildiği gibi kayıt defterinden kaldırmak kadar almak istiyorsanız, olabilir, ama bu makinenizin "ev tutma" dışında gerekli olmamalıdır.


2
+1. Deneyimlerime göre, kayıt defteri ile oynamak çok iyi çalışmıyor gibi görünüyor. Bunu projemi başka bir konuma (yerel bir vm) kopyaladıktan sonra ve .gitignore, .gitattributes ve .git kaldırdıktan sonra bu hile yaptı.
cr1pto

42
-1 Bu VS'deki git eşlemesini kaldırmaz, git deposunun kendisini kaldırır. VS'nin bu adımlarla gitme için eşlenmeyi bırakmasının nedeni, repoyu uçurmuş olmanızdır. Git'i kullanmak isteyen ama VS'nin dahil olmasını istemeyen insanlar ne olacak? OP'nin istediği buydu.
Rob Levine

5
@Richard_D - temelde - Standart şekilde budala kullanıyorsanız, o zaman bu .git klasör olduğu budala. Hem yukarı akış sunucunuzdaki her şeyin yerel kopyasıdır ve aynı zamanda oluşturduğunuz ancak itmediğiniz herhangi bir yerel dalın tek kopyasıdır. Pek çok kişi git komut satırından git veya SourceTree gibi araçlar kullanır ve VS'de git entegrasyonunu kullanmak istemez. Bu durumda, tek istediğimiz VS'deki git desteğini devre dışı bırakmaktır, aslında yerel git kurulumumuzu kurcalamak değil. Bu daha mantıklı mı yoksa endişenizi yanlış anladım mı?
Rob Levine

4
Bu korkunç bir fikir. Cezai ihmal de akla geliyor. Emniyet kemeri yenilgileri bir başka. Bu herhangi bir eşlemeyi kaldırmaz, deponun kendisini siler.
Panagiotis Kanavos

2
Benim durumumda mükemmel çalıştı. Yanlışlıkla, kaynak kontrolüne bir proje eklemek için eğlendim ve yerel olarak bir GIT deposuna nasıl koyduğumu. Bu, kaynak kontrolünün amacını bozar çünkü sürücü çökerse her şeyi kaybederim. TFS'ye bağlanmaya çalıştım ve varsayılan olarak GIT'e geri döndü. Tüm GIT dosyalarını kaldırarak ve VS'yi yeniden açarak, benim için mükemmel çalıştı. +! nazik beyefendi!
logixologist

59

Araçlar -> Seçenekler -> Kaynak Kontrolü -> Geçerli Kaynak Kontrolü Eklentisi: Yok


4
Bu gerçek cevaptır - benim durumumda sürüm kontrolü için her zaman Team Foundation Server kullanıyorum. Microsoft, Git'i zorluyor gibi görünmüyor - beğenmeyin.
Alexey Shevelyov

Bu sadece projeyi kapatır ve görsel stüdyoda kaynak kontrolünü devre dışı bırakır. Projeyi bir sonraki açışınızda git entegrasyonu yeniden etkinleştirilir.
Skye MacMaster

40

Kısa versiyon

  1. Altındaki uygun parçaları (y | ies) kaldırın HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Kaldırmaya HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositoryçalıştığınız repo ile aynıysa kaldırın.

Arka fon

Görünüşe göre Visual Studio gördüğü tüm git depolarını izliyor. Bir depoya başvuruda bulunan projeyi kapatsanız bile listede eski girişler görünebilir.

Bu sorun Visual Studio için yeni değil:

VS2013 - Kaldır seçeneği her zaman devre dışı bırakıldığında yerel git deposunu ekip gezgini penceresinden nasıl kaldırabilirim?

Git ciltleme Visual Studio 2013 çözümden kaldırmak?

Bu, muhtemelen yerleşik bir özellik olması gereken bir şey için çok fazla iş gibi görünüyor. Yukarıdaki "çözümler", .git dosyasında vb. Visual Studio içindeki şeyleri etkilemek için Visual Studio dışındaki şeyleri değiştirmek zorunda kalmak fikrini sevmiyorum . Her ne kadar benim çözümüm birkaç kayıt defteri düzenlemesi yapmak zorunda olsa da (ve VS dışında), en azından bunlar sadece VS'yi etkiler. İşte geçici çözüm (read: hack):

Detaylı talimatlar

Bu adımları izlemeden önce Visual Studio 2015'in kapalı olduğundan emin olun.

1. regedit.exe dosyasını açın ve şuraya gidin:

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

VS için Regedit depoları

VS'nin izlediği depoları temsil eden birden çok "karma" değer görebilirsiniz.

2. Listeden kaldırmak istediğiniz git deposunu bulun. Silinecek doğru havuzu doğrulamak için nameve pathdeğerlerine bakın :

silinecek repoyu doğrula

3. Anahtarı (ve karşılık gelen alt anahtarları) silin.

(İsteğe bağlı: silmeden önce, bir hata yapmanız durumunda bu anahtarı yedeklemek için sağ tıklayıp Dışa Aktar'ı seçebilirsiniz .) Şimdi, anahtarı sağ tıklayın (benim durumum bu AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9ve Sil'i seçin ).

4. LastUsedRepositoryAnahtarın "başka bir şeye" işaret ettiğinden emin olun .

Yukarıdaki adımlarda kaldırmaya çalıştığınız havuz eşlemesi depolanmışsa LastUsedRepository, bu anahtarı da kaldırmanız gerekir. İlk önce şuraya gidin:

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

genel anahtarın yeri

ve anahtarı silin LastUsedRepository(gerekirse anahtar VS tarafından yeniden oluşturulur). Anahtarı kaldırma konusunda endişeleriniz varsa, değeri değiştirip boş bir dizeye ayarlayabilirsiniz:

son kullanılan depoyu sil

Visual Studio 2015'i yeniden açtığınızda, git deposu bağlaması artık listede görünmemelidir.


Ben kayıt defteri ile oynamak iyi bir fikir olduğunu sanmıyorum ... Bu biraz çalıştı, serin, ama benim durumumda bu en güvenli bahis değil. Daha güvenli bir çözüm için @ helix cevabına bakınız.
cr1pto

3
@Richard_D - sarmalın cevabı, git için VS eşlemesini kaldırmaz, OP'nin sorduğu gibi olmayan git repo'yu yok eder. Kayıt defteri kesmek ideal değil, ama en azından asıl sorunu çözmeye çalışır "Ben bir git repo kullanıyorum ama VS dahil olmasını istemiyorum"
Rob Levine

Bunun OP'nin sorusuna cevap verdiğini görüyorum, ama bu doğru cevap mı? Emin değilim. Lütfen sorularıma @ Helix cevabında bakın. Teşekkürler Rob, anlayışınız için teşekkür ederiz.
cr1pto

1
VS2015, çözümün bir sonraki açılışında bu kayıt defteri girdilerini geri yükler.
Amit G

1
Geliştiriciler Windows Kayıt Defteri'ni düzenlemekten korkmamalıdır. Özellikle de bir Visual Studio anahtarı olduğu zaman! .Git dizinini silmek benim için bir seçenek değil.
0xF

21

Git deposu, artık etkin proje olmadığında VS-2015'teki Yerel Git Depoları listesinden kaldırılabilir .

Ekran görüntünüzde yalnızca bir havuz var ve etkin, bu yüzden kaldıramazsınız.

İki veya daha fazla deponuz olduğunda bunlardan biri , aktif depoyu temsil eden BOLD'da gösterilecektir . Diğer aktif olmayan depolar o zaman kaldırılabilir.

Bu nedenle, sorununuzu çözmek için, ikinci bir yerel depoya bağlanırsanız, ekran görüntünüzde vurguladığınız sorunu kaldırabilirsiniz.

Maalesef, Ekip Gezgini her zaman bir havuzu etkin tutuyor gibi görünüyor. Başka bir depoya geçmeden tamamen bırakmaya nasıl ikna edeceğinizden emin değilim.


Fakat diğer depolara nasıl "bağlanıyorsunuz"? VS bir repo üzerinde olduğunda çözüm explorer menüsünde aynı "Sorce Kontrol Ekle" seçeneğini kullanarak başka bir bağlanmak için izin vermez gibi görünüyor. (nvm .git ve diğer git dosyalarını çözüm dizininden silme benim için çalıştı.)
Gram

@Gram. Yerel Git Depoları altında (OP ekran görüntüsüne bakın) 'Yeni' Git deposu oluşturabilir veya mevcut bir 'Klon' oluşturabilirsiniz. Yeni git deposu oluşturursanız, yerel sabit sürücünüzde bir yol verin ve ardından Oluştur'u tıklatın. Bundan sonra, listenizde görünecektir. Yeni depoya çift tıklayın ve kalın metinle vurgulanacaktır ve sahne arkası aktif depo haline gelecektir. Bu noktada, diğer depoları listeden kaldırabilirsiniz.
Chris

Bu, yeni bir yerel repo yapıyor, mevcut bir projeyi mevcut bir github repoya bağlamıyor. Ayy, ikinci bir okumada tek soru kaldırma olduğunu görüyorum. Var olanla nasıl bağlantı kuracağım, sorunun bir parçası değil, benim hatam.
Gram

18

.Git gizli klasörü kaldırmak benim için çalıştı.


Bu, klasörü bir git çıkışından bir klasöre dönüştürecektir. Elbette, bir çıkış dizininin amacını değiştirmemelidir, çünkü Visual Studio bunu veya bunu yapar.
Cristian Amarie

Süper geç, ama çok teşekkür ederim ... Bu, şimdiye kadar tüm kariyerimin en sinir bozucu ve sinir bozucu sabahlarından biri olmalıydı, ne kadar aptal bir işlevsellik bunu ele aldı ...
haag1

11

Yukarıdaki cevap benim için işe yaramadı. Visual Studio'da çözümü açtığımda kayıt defteri girdileri otomatik olarak yeniden eklenir. Çözümü Matthews cevaplarındaki bağlantılardan birinde buldum, ancak kredi hala doğru cevap için ona gidiyor.

Git ciltleme Visual Studio 2013 çözümden kaldırmak?

.gitÇözüm klasörünüzdeki gizli klasörü kaldırın .

Ayrıca klasörümü temiz tutmak için .gitattributesve .gitignoredosyalarını kaldırdım .


2
Projenin git tarafından yönetilmesini istiyorsanız, Team Explorer ile değil, bu herhangi bir kullanım değildir. Şahsen Team Explorer'ın Git kullanımımla tamamen istenmeyen bir VS eklentisi aracılığıyla uğraştığını düşünüyorum.
Henry Wilson

Bu, git eklentisini VS'den kaldırmaz. VS Git çalısını dövmeye devam ediyor ve ağırlaştırıyor.
IAbstract

@IAbstract Soru git eklentisinin VS'den kaldırılmasını istemiyor.
Gene S

@Henry Wilson Yorumunuz soru ile alakalı görünmüyor. Cevabım, bağlanma / eşleme Visual Studio'dan kaldırır. Benim için çalışıyor ve diğerleri için açıkça çalışıyor.
Gene S

1
Bu tamamen soru ile alakalı! OP git kontrolünü kaynak kontrolü için kullanıp kullanmadığını belirtmez, sadece VS'deki bağdan nasıl kurtulacağını bilmek ister. .Git klasörünü ve .gitattributes / .gitignore dosyalarını silmek, kaynak kontrolü için git'i kullanmadığınızı varsayar;
Henry Wilson

9

Çözüm yüklendiğinde Git kaynak kontrol sağlayıcısını kapatarak NoGit uzantısı sorunu gizler. Bu işi Visual Studio'da yüklenen her çözüm için yapar.

Chris C.'nin önerdiği gibi başka bir projeyi açıp Git deposunu Yerel Git Depolarından kaldırarak çözdüm (Görünüm> Ekip Gezgini> Yerel Git Depoları, kaldırılması gereken havuzu seçin ve Kaldır'ı tıklayın). Sonra helezonun önerdiği gibi .git klasörünü proje yolundan kaldırdım. Projeyi yeniden açtı ve sonunda Git entegrasyonu gitti!


.Git klasörünü ve birkaç .git dosyasını Solutions'ın klasöründen kaldırmak benim için düzeltti. Hepinize teşekkürler!
PTansey

8
  1. Proje dizininize gidin
  2. Menü-> Araçlar-> Klasör seçenekleri klasörünü tıklayın
  3. Görünüm sekmesini seçin
  4. Dosya ve Klasörler'in altında Gizli dosyaları, klasörü ve sürücüleri göster'i seçin
  5. tıklayın Tamam
  6. .gitKlasörü sil
  7. Visual Studio'yu kapatıp yeniden açın
  8. Projenizi açın
  9. Bitti. :)

Güvenli kodlama.


1
Yapmaya çalıştığımız şey bu değil. Git istiyoruz, sadece VS ile entegrasyon istemiyoruz.
Gerry

7

Çok basit,

  1. silmek istediğiniz projeye bağlı olmadığınızdan emin olun

  2. proje çözüm gezgininde kapalı

    Hepsi bu, şimdi yeniden denerseniz, kaldırma işlemi etkinleştirilecek


Teşekkürler. Bu en basit olanıdır ve cevap olarak seçilmelidir.
Ronald Ramos

Çalışır, kaldırma seçeneği devre dışı bırakmaya devam görürseniz, kapatın ve Visual Studio yeniden açın. VS 2017 ile kullandım
freedeveloper

5

Git entegrasyonunu visual studio 2015 projemden kaldırmak için biraz zaman harcadım. Ben görsel stüdyoda git kaldırmak ve TFS eklemek her zaman bu - Araçlar -> seçenek -> sourceControl -> eklenti seçimi -> Visual Studio Team vakıf sunucusu, geri gelmek için kullanılır.

Benim çözümüm -

benim projenin fiziksel yerini yapma- tüm gizli dosyaları göster. bunu gizli dosyaları ve pencerelerin klasör seçeneğini göstererek yapabilirsiniz. sonra anlıyorum .git adında gizli bir klasör vardı. Ben proje klasörünün tam bir yedek tuttu ve ayrıca git klasörü gerekli diğer herhangi bir yedek (Ben önceki koşulu geri gidebilirsiniz böylece benim proje sonları, bu yedek tuttu).

sonra gizli .git klasörü ve diğer .git ilgili dosyaları sildim.

sonra Araçlar -> seçenek -> sourceControl -> eklenti seçimi -> Visual Studio Team vakıf sunucusu için deneyin. sonra ben visual studio- tarafından proje açmak Dosya -> açık -> proje / çözüm ..

Bundan sonra çözüm explorer noiticed, sağ çözüm adi "Kaynak kontrolü" seçeneğini görmek ve aynı zamanda proje - sağ tıklayın i "Kaynak kontrolüne dikkat ekle" .. ve bu sefer git çözüm eklemedi. .

Ayrıca herhangi bir git bağlantısını kaynak kontrol patlayıcı kaldırmak için iyidir .. varsa ..

Bu yüzden asıl şey, proje dosyanızda ve diğer herhangi bir git uzantısında hiçbir gizli git dosyası olmadığından emin olun .. umarım bu birisine yardımcı olacaktır ..


2

Juliano Nunes Silva Oliveira'nın cevabına ek olarak , regedit'e girmeden, gizli .git klasörlerini kaldırmadan veya VS15 ayarlarınızı değiştirmeden en basit ve en temiz yol farklı bir depoya bağlanmaktır. Bağlandığında, diğer havuzun kalın yazı tipini görürsünüz ve Git yerel deponuzu seçin . Şimdi görüyorsunuz ki

Kaldırmak

Git yerel deponuzu silebilmeniz için menü öğesi etkinleştirilmiştir .

Git'i visual studio 2015 ile kullanırken Branşlarla uğraşırken aynı davranış şeklidir. Silmek istediğiniz dalı silmeden önce farklı dal seçmeniz gerekir.

Daha iyi anlamak için görselleştirmeye ihtiyaç duyanlar için. bağlantı resmine bakın: nasıl yapılır

Mutlu kodlama


1

Çözüm klasöründe .git dizininin varlığını arar. Muhtemelen gizlenmiş olan bu klasörü silin ve Visual Studio artık bir git projesi olarak değerlendirilmez.


Çünkü kaldırırsanız artık bir git projesi olmaz . Sürümünüzü etkili bir şekilde yok ettiniz. Yapmak istediğin buysa, tamam.
gliljas

Ben de tam olarak bunu yapmak istedim. Visual Studio, 30 günlük lisansımı kaynak denetimine eklerken geçerliliğini yitirmeye karar verdi. Projemi kafa karıştırıcı bir durumda bıraktım ve üzerindeki belgeleri takip edemedim.
Nathan Goings

1

Farklı bir veri havuzuna bağlanın (TFS veri havuzuyla denedim), ardından Bağlantıları Yönet'e gidin, Git deposuna sağ tıklayın ve onu kaldırabilirsiniz.

Ancak yine de çözümü yeniden açmadan önce .git klasörünü ve dosyalarını proje yolunuzdan el ile kaldırmanız gerekir.


1

@Matthew Kraus Lütfen menü çubuğundaki araçlara tıklayın, ardından Seçenekler'e tıklayın, Kaynak Kontrolünü bulun ve açılır listeden "Hiçbiri" ni seçin ve Tamam'a tıklayın. Gizli .git klasörünü proje klasörünüzden silin. Projenizi yeniden açın. resim açıklamasını buraya girin


0

Git Control Panel\User Accounts\Credential Managerseçeneğini seçin ve Windows Credentialardından git hesabını kaldırın.



0

Zaten bağlıyken yerel git deposunu silemezsiniz. böylece çözümü kapatın, başka bir çözüm açın ve ardından yerel git deposunu kaldırın. silmeyi unutma .git gizli klasör benim için çalışıyor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.