Find deleted file in Git
I found myself looking for a recipe I'm sure I had written down and put up on the site. I am using git to keep things in order so that led me down the path of wondering whether I could serach the git repo history and see if there is a file in there I was looking for and then retrieve it.
git log --all --full-history -- **ginger.*
This spat out the history of the ginger beer recipe I was trying to find
commit 495eb42be1500fc54e892b1d6adffa132a0bab18 Author: Hilton Meyer <email@example.com> Date: Fri Sep 13 06:28:07 2019 +0300 Created drafts for work in process recipes commit f9e910dc5b81052ea682e8d1f56449b53e37f647 Author: Hilton Meyer <firstname.lastname@example.org> Date: Thu Sep 12 21:35:46 2019 +0300 A few more adjustments to ginger beer recipe commit 6fc00977acb65546f18b818facd501f70d038181 Author: Hilton Meyer <email@example.com> Date: Thu Sep 12 21:28:17 2019 +0300 Adjustments to ginger beer commit fb41f763759d1b6d8e568596fbeb4b7cd6e3bbff Author: Hilton Meyer <firstname.lastname@example.org> Date: Fri Sep 6 16:29:27 2019 +0300 Added ginger beer recipe
Dope!! What I found was that I had forgotten about my drafts folder where I was keeping work in progress recipes. Well at least I found it but it go me wondering how would I have restore the file if I wanted it.
Lets take a look at the commit:
git show 495eb42be1500fc54e892b1d6adffa132a0bab18
The result was showed me where the file was:
diff --git a/recipes/ginger-beer.md b/recipes/ginger-beer.md deleted file mode 100644 index d75edf9..0000000 --- a/recipes/ginger-beer.md +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Ginger Beer -layout: layouts/recipe.njk -tags: - - recipe - - drink - - fermentation - - ginger - - lemon - - sugar -navtitle: Ginger Beer -date: 2019-09-06 ...
So I can check it out with this:
git checkout fb41f763759d1b6d8e568596fbeb4b7cd6e3bbff -- recipes/ginger-beer.md
Bam!! file restored. Well I'll keep that for another day then.