Git deposundaki bin ve obj klasörlerini nasıl göz ardı edebilirim?


113

Git depomdaki bin ve obj klasörlerini yok saymak istiyorum. Öğrendiğim gibi, bunu .gitignore'da yapmanın kolay bir yolu yok. Öyleyse, başka bir yolu var mı? Visual Studio'da temiz çözüm mü kullanıyorsunuz?


Benim için iyi çalışıyor - .gitignore dosyama 'bin' ve 'obj' kelimelerini ayrı satırlar olarak ekliyorum
Tim Robinson

1
Ve çözüm sadece bir değil, birçok projeden oluşuyorsa?
chester89

Tam olarak ne denediğinizi ve neyin işe yaramadığını gönderebilir misiniz? objve binen üst düzeyde .gitignore, çağrılan her şeyi objveya bintüm alt düzeylerde yoksaymalıdır .
CB Bailey

2
Anladığım kadarıyla .gitignore içeriği her alt dizinde geçerlidir, bu nedenle düz 'bin' ve 'obj' her yerde çalışır. Bir cevapta .gitignore'umu gönderecek
Tim Robinson

Yanıtlar:


166

Bunun sizin için neden işe yaramadığından emin değilim. Yardımcı olması durumunda, işte Visual Studio / git projelerimden birinden tipik bir .gitignore dosyası:

*.suo
*.user
_ReSharper.*
bin
obj
packages

4
Ben de eklemek packagesNuget dan kolayca gibi yeniden indirmek onları
Michal Ciechan

1
ilk önce tüm dosyaları yürüttüğünüzde ve daha sonra .gitignore dosyasını deponuza ekleyip teslim ettiğinizde çalışmaz. Yeni yok sayılan dosyalar yine de değiştirilmiş olarak gösterilecektir (örneğin, yeniden oluşturuyorsanız).
vlad2135

7
Son zamanlarda burada bulunan önerilen .gitignore dosyasını kullandım: github.com/github/gitignore/blob/master/VisualStudio.gitignore büyük bir başarıyla.
BigTFromAZ

1
@BigTFromAZ Bunu bir cevap olarak eklemelisiniz, kabul edilenden çok daha iyi!
Avrohom Yisroel

62

basitçe gitignore'da bir giriş yapmak dosyaları göz ardı etmeyebilir, onu işlemeniz gerekebilir. Aşağıdaki yöntemi kullandım ve kendim için çalıştım

git rm -r --cached .

git add .

sonra

git commit -am "Remove ignored files"

Ancak bu, daha sonra arşive dahil ettiğim betikler klasörümü yok sayıyor.


Tamam çalışıyor. Ancak Vscode değiştirilen kodu bulamadı. Bir şeyi kendim değiştirdim ve onu başlangıç ​​efendisine ittim. Sonra işe yaradı. :)
Dentrax

Bir çok proje ve nedense git add ile bir çözümüm var. asla tamamlanmaz.
Chucky

Harika Arvind !, acemi bir geliştirici, tüm bin / ve obj / öğelerini çalışma şubemize birleştirdi (politikaları atlayarak ... nasıl bilmiyorum!) Ve bu, tüm bu dosyaları depodan kaldırmanın yoluydu.
equintas

Çaylak bana (en azından git), bunu kendime yaptım. Rm'yi ve sonra geri eklemeyi hiç düşünmemiştim çünkü git rm'nin sadece öğeleri dizinden silip diskten sildiğini anlamadım. Eğer doğru anladıysam, ilk iki komutunuz dizinden her şeyi silerek ve her şeyi geri ekleyerek .gitignore filtrelerini uygulayarak dizini yeniden oluşturdu. Daha sonra commit bunu arşivde yapar. Çok zeki.
BigTFromAZ

Harika! Bu benim için gayet iyi çalıştı. tüm .vs, obj, bin ve diğer yok sayılan dosyalar.
Stanley Okpala Nwosa

11

Visual Studio kullanıyorsanız, bunu yapmanın basit bir yolu vardır.

  1. Takım Gezgini'ni açın
  2. Ayarlara tıklayın
  3. Depo Ayarları
  4. Yoksay ve Öznitelik dosyası bölümü altında Dosyayı Yoksay'ın yanındaki Ekle'ye tıklayın.

Çerçeve / dil tarafından kullanılacak yaygın klasörlerin ve dosyaların çoğunu yok sayacak varsayılan bir .gitignore dosyası oluşturacaktır.

görüntü açıklamasını buraya girin


3
  • Windows Gezgini'nde binve objklasörlerini bulun
  • TortoiseGit'e sağ tıklayın> Sil ve yok sayma listesine ekle> çöp kutusu
  • TortoiseGit'e sağ tıklayın> Sil ve yok sayma listesine ekle> obj

2

TÜM projelerinizde bin ve obj'i yok saymak istiyorsanız kullanabilirsiniz ( gitignore man sayfasından )

Core.excludesfile yapılandırma değişkeni tarafından belirtilen dosyadan okunan modeller.

core.excludesfile, Unix'te ~ / .gitconfig olan bir yapılandırma dosyasında ayarlanabilir - Windows altında nerede olduğunu bilmiyorum


İyi bilgi, ancak makinedeki TÜM projeleri değil, bu çözümdeki tüm Visual Studio projelerini kastetti.
AhHatem

2
Büyük olasılıkla, binve objklasörlerini HERHANGİ bir çözümde kullanmakla asla ilgilenmeyecektir . :)
MEMark

1

Daha önce bin ve obj klasörlerini kaydetmişseniz, .gitignore'a eklemek onları otomatik olarak silmez. Örneğin, bu klasörleri silmeniz git rm -rf objveya git rm -rf yourProject/obj ardından silme işlemini gerçekleştirmeniz gerekir.


0

Kaynak ağacını denerseniz ve yine de yok sayma dosyaları gelmiyorsa, araçlar -> seçenek-> Git'e gidin ve ardından .gitignore'un konumunu seçin. görüntü açıklamasını buraya girin


0

Benim durumumda, bin ve obj klasörleri kök .gitignore dosyasından Project klasörünün altına yerleştirildi, bu yüzden aşağıdaki gibi eklemek zorunda kaldım:

[PROJECT_FOLDER_NAME] / bin
[PROJECT_FOLDER_NAME] / obj

PROJECT_FOLDER_NAME kısmını proje klasör adınızla değiştirin

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.