2013-06-20 17 views
59

Tamam, ben o zaman http://git-scm.com/docs/gitattributes#_checking-out_and_checking-in"Metin" özniteliğini kullanarak dosyaları normalleştirdikten sonra ana şubeyi denetlemek ve satırbaşı iadelerini kaldırmak için git'i nasıl zorlarım?

$ rm .git/index  # Remove the index to force Git to 
$ git reset   # re-scan the working directory 
$ git status  # Show files that will be normalized 
$ git add -u 
$ git add .gitattributes 
$ git commit -m "Introduce end-of-line normalization" 

adresindeki talimatları takip Ama şimdi benim çalışma kopyası hala satırbaşları vardır bu

*.css text 
*.js text 
etc... 

gibi hatları ile dosya .gitattributes eklendi! Devam etmek istediğim, izlenmeyen dosyalarım var. Nasıl normalleştirilmiş dosyalar ile ana şube tekrar git checkout var?

ben repo klon, ben satırbaşları olmadan tüm dosyaları olduğu için dosyaları depoda normalize olduğunu biliyoruz.

cevap

163

Ahah! Önceki işlemi kontrol edin, ardından master'ı kontrol edin. Diğerleri işaret gibi

git checkout HEAD^ 
git checkout -f master 
+3

Bu geçici çözüm için teşekkürler, ancak "checkout -f" ifadesinin gerçekten yeniden ödeme yapılmasını zorlamadığı konusundaki göze çarpan sorun. Başka bir boşluk, öncelikle tüm çalışan kopya dosyalarını kaldırmak olacaktır (yani .git dir'in dışındaki her şey). – pfalcon

+0

Ah, evet, bunun için teşekkürler! Bunu duyduğuma göre, sanırım ilgini çeken dosyaları kaldırabilirim. Benim için aslında düzeltmeye çalıştığım tek bir dosya vardı. Ama elbette tüm dosyalar, yüzlerce veya binlerce olabilir. – Jason

+0

Bu, Git 1.8.3 (mac) ile başarısız: hata: pathspec 'HEAD ^' git bilinen herhangi bir dosya (lar) eşleşmedi. – dval

9

biri sadece repo tüm dosyaları silin ve onları kontrol edebilir. Ben bu yöntemi tercih ediyor ve bunun

git ls-files -z | xargs -0 rm 
git checkout -- . 

veya bir sınırının altında kod ile yapılabilir

git ls-files -z | xargs -0 rm ; git checkout -- . 

Ben her zaman kullanmak ve henüz bir aşağı tarafı bulamadık! biraz daha fazla açıklama için

, -z ls-files ile her bir giriş çıkış ucu üzerine bir boş karakter ekler ve -0 bu o boş karakterlerle alma edildi çıkış sınırlandırmak için xargs anlatır.

İlgili konular