2010-08-30 19 views
8

Veritabanımın kökünde bir .noise dosya var diyelim. Bu dosya sık sık değiştirildi ve takımımdaki başkaları tarafından uzak bir repoya adandı.Zaten bir repoda dosyaları yok saymadan SİLMEZ

Bu dosyayı, kendim için bir şey yaptığım sırada tamamen yok saymak istiyorum, ancak yine de diğerlerinden gelen değişiklikleri almak istiyorum ve dosyayı silmek istemiyorum. .git/info/exclude kullanırsam, git rm --cached dosyasına ihtiyacım var, bu yüzden repoda görünmez.

# On branch master 
# Changed but not updated: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# 
# modified: .noise 
# 
# No changes added to commit (use "git add" and/or "git commit -a") 

için: Şimdi bu yaptığını

beni getiren

# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
# deleted: .noise 
# 

beni korkutuyor 'Değişiklik yapıldı edilecek'. .noise 'un silinmesini uzaktan kumandaya geri itmek istemiyorum, onun da benim filtrelerimden silinmesini istemiyorum. Ben sadece Git'in onu görmesini ya da onunla bir ilgisi olmasını istemiyorum. Ben 'un git rm --cached'un herhangi bir değişiklik yapması beklenmediğini düşündü? Öyle değil mi?

Herhangi bir fikrin var mı?

$ git update-index --assume-unchanged -- .noise 

update-index --assume-unchanged Git dosyayı izlemeye devam yapacaktır, ancak sizin değişiklikler endeksinde yansıyan veya repoya eklenmez:

+0

Bu dosyayı kendiniz değiştiriyor musunuz? Bu dosyanın uzaktaki değişikliklerini çalışma ağacınızda görmek ister misiniz? – Shcheklein

cevap

14

kullanabilirsiniz.

+0

Anladığım kadarıyla, dosya gerçekten değişmeden kalırsa bu şekilde çalışacaktır. Git, bu dosyayı bir şekilde değiştiren işleri gerçekleştiremez: "Git, bu dosyayı dizinde değiştirmesi gerektiğinde (örneğin, bir taahhütte birleştirildiğinde) başarısız olur; durumu elle ele almanız gerekecek. " (Bakınız git-update-index (1)) – Shcheklein

+0

'git update-index --assume-unchanged' bir süre önce denediğim bir şey. Etkisi yok! Ekleme - - .noise' bunu yapmak gibiydi. Şimdi, bu ilginç bir şey çünkü güncelleme dizininin temelde yeniden dizin aramaktan geçtiğini düşündüm. Tek tek dosyalar üzerinde çağrılması gerektiğini bilmiyordum. Teşekkürler. –

+0

@Shcheklein "Git, bu dosyayı bir şekilde değiştiren işleri almayı başaramayacaktır" Belki de bu, sonuçta hepsi bir çözüm değil. Uzaktan işlemlerin aşağı çekilip çekilmediğini test etmek ve doğrulamak zorundayım. –

İlgili konular