2011-03-01 17 views
6

Android projelerinde çalışan birkaç git deposu var. Biz küçük olan 'boot' repo ve büyük olan 'android' var. Gelişim sırasında bizim adamlardan biri 'android' dan 'boot' a kadar şubeyi itti ve şimdi deposu boyutu 700 MB! Zaten yanlış şubeyi ve bununla ilgili tüm taahhütleri "boot" dan silmek artık var mı? Tüm depolarla şube nasıl silinir yanlış depoya itilir?

Ben filtre dalı ve diğer yöntemler denedi, ancak bunların çoğu bu bir sorun 'tarafında' olan kaydedilmesini silmek olmamalıdır Teorik olarak bu yanlış itme

sonra yapılan numaralarını işlemek değiştirin. Bu dal 'efendi' olarak birleşti asla ve bunlar herhangi bir yararlı için anne değildir

git branch -D branch_name 

Not sermaye -D seçeneği ile yapılır dalı silinmesi

cevap

5

taahhüt taahhüt: Bu bile dalı silmek için git söyler eğer tamamen ustalaşmamışsa.

Bunu yaptıktan sonra, çöp toplayıcısını git gc ile ateşleyin. O zaman iyi olmalısın. Uzak bir sunucudan bir şube silme

+2

Şube, yalnızca bir işlem için bir addır. (Diskteki 40 bayt) ve dalı silmek m problemini çözemez. Yanlış itme tarafından oluşturulan nesneler, depoda bir çok taahhüt tarafından atıfta bulunulmaktadır, bu yüzden GC, – mishmashru

+2

'un orijinal sorusuna cevap vermemesine yardımcı olmaz. Orijinal işlemin verileri hala var. – kazanaki

11

silinen dalı kaldırmak için kendi yerel repo aşağıdaki komutu çalıştırabilirsiniz Bundan sonra git push

git push --delete boot branchname 

her kişinin kullanılarak gerçekleştirilir. dalı da kaldırıldıktan sonra

git remote prune boot 

, veriler yine yanlışlıkla veri kaybını önlemek için bir önlem olarak, varsayılan olarak 2-4 hafta içinde, her bir depo oyalanmak. Disk alanı endişesi sizin için gerçekten önemliyse, daha sonra kaldırılabilir ancak yanlışlıkla veri kaybını önlemek için geçici olarak tutulan erişilemeyen tüm nesneleri kaldıracaktır.

git gc --aggressive --prune=now 
İlgili konular