Katakan saya di repositori Git. Saya menghapus file dan melakukan perubahan itu. Saya terus bekerja dan membuat lebih banyak komitmen. Kemudian, saya merasa saya harus mengembalikan file itu.
Saya tahu saya dapat checkout file menggunakan git checkout HEAD^ foo.bar
, tetapi saya tidak benar-benar tahu kapan file itu dihapus.
- Apa cara tercepat untuk menemukan komit yang menghapus nama file yang diberikan?
- Apa cara termudah untuk mengembalikan file itu ke copy pekerjaan saya?
Saya berharap saya tidak harus secara manual menelusuri log saya, checkout seluruh proyek untuk SHA yang diberikan dan kemudian secara manual menyalin file itu ke checkout proyek asli saya.
git log --diff-filter=D -- path/to/file
git checkout deletedFile
akan membatalkan penghapusan deletedFile
jika sudah dihapus tetapi penghapusan itu belum dilakukan atau dilakukan . Bukan itu yang ditanyakan di sini; pertanyaan ini adalah tentang cara mengembalikan file yang penghapusannya dilakukan beberapa kali lalu.