Bir Git deposunda olduğumu söyle. Bir dosyayı silerim ve bu değişikliği taahhüt ederim. Çalışmaya devam ediyorum ve biraz daha taahhütte bulunuyorum. Sonra, bu dosyayı geri yüklemem gerektiğini fark ettim.
Kullanarak bir dosyayı teslim alabileceğimi biliyorum git checkout HEAD^ foo.bar
, ancak o dosyanın ne zaman silindiğini bilmiyorum.
- Belirli bir dosya adını silen taahhüdü bulmanın en hızlı yolu nedir?
- Bu dosyayı çalışma kopyama geri getirmenin en kolay yolu nedir?
Günlüklerime manuel olarak göz atmam, belirli bir SHA için tüm projeye göz atmam ve daha sonra bu dosyayı el ile orijinal proje ödememe kopyalamam gerekmediğini umuyorum.
git log --diff-filter=D -- path/to/file
git checkout deletedFile
silme işlemi geri alınır deletedFile
silindikten ama bu silme eğer henüz olmamıştır aşamalı veya taahhüt . Burada sorulan şey bu değil; Bu soru, silinmesi birçok taahhütte önce yapılmış olan bir dosyanın nasıl geri yükleneceği ile ilgilidir.