2012-08-23 21 views
5

Git repo'mda bir uzaktan kumanda kurma ve tamamen farklı bir projeden getirme konusunda hata yaptım.Yanlış Repo Aldıktan Sonra Git Geçmişinin Giderilmesi

Neyse ki, birleştirme yoktu, ama şimdi benim repoda dolaşan 2 proje öyküsüne sahibim ve hatalı yaptığımı yapmadan önce repo'yu nasıl geri aldığımı anlamaya çalışıyorum. getir.

Ben yaklaşık reflog, rebase, gc okuyordum ve diğer komutlar beni ben yanlışlıkla getirilen şeyler kurtulmak, ancak şu ana kadar herhangi bir yerde yok yardımcı olacak yürütmeye çalışıyoruz.

Her iki projenin de tarihinin benim repo'mda var gibi görünüyor, ama tamamen bağımsızlar.

enter image description here

Ortasında kaydedilmesini olduğunu görebilirsiniz: birbirlerine paralel uzanan kaydedilmesini 2 ayrı ağaçlar esasen vardır, aslında, bu tüm branşlarda bakarken ben gitk gördüklerinizi olduğu tarihin başlangıcında ve sonunda taahhütlere bağlı değil. Date-wise, onlar serpiştirilmiş, ancak gitk, bazı nedenlerle ara vermeksizin göstermiyor.

Yalıtılmış işler (resmin ortasındaki), kendimi kurtarmaya çalıştığım ve herhangi bir şubeye bağlı görünmüyorlar. Repo'mdaki HEAD'lerin herhangi birinden, bu taahhüt kümesine geri dönüş yok. Şimdiye kadar (bir fark yapar durumda sırayla) denedim

:

git remote prune 
git prune 
git gc 
git gc --aggressive --prune=tomorrow 
git remote update --prune 
git fetch --all 

Ama hiçbir şey henüz yardımcı oldu. Bu taahhütleri repo'mdan nasıl kaldırabileceğimi öneren var mı?

cevap

8

git tag -d 0.1.something kullanarak sarkan etiketini (0.1.something, something ekran görüntüsünde görünmez) kaldırmanız gerekir. Bu yapıldıktan sonra, taahhütler gc-mümkün olacaktır.

Bir taahhüte ulaşan bir etiket olduğu sürece, bu taahhüt erişilebilir olarak kabul edilir ve bu nedenle "sonsuza kadar" kalmaya devam eder, siz bu noktaya işaret eden tüm ref'leri kaldırana kadar çöp toplama işlemine etkili bir şekilde bağlanır (dallar, etiketler, diğer referanslar, ...)

+1

Teşekkürler, bu tam olarak ihtiyacım olan şeydi, etiketin beni komisyondan çıkarmamı durdurabileceği gerçekleşmedi +1 – chrisbunney