summaryrefslogtreecommitdiff
path: root/3 Resources/Git/Find files in history.md
diff options
context:
space:
mode:
Diffstat (limited to '3 Resources/Git/Find files in history.md')
-rw-r--r--3 Resources/Git/Find files in history.md17
1 files changed, 17 insertions, 0 deletions
diff --git a/3 Resources/Git/Find files in history.md b/3 Resources/Git/Find files in history.md
new file mode 100644
index 0000000..d5592fe
--- /dev/null
+++ b/3 Resources/Git/Find files in history.md
@@ -0,0 +1,17 @@
+---
+tags:
+ - git
+references:
+ - https://stackoverflow.com/questions/7203515/how-to-find-a-deleted-file-in-the-project-commit-history
+---
+Find a (deleted) file in all commits.
+`g lg --all --full-history -- "**/shell.nix"`
+or more generally
+`g lg --all --full-history -- <path-to-file>`
+then using the SHA
+`g show <sha> -- <path-to-file>`
+
+**Epic bonus**
+Restore the file:
+`g checkout <sha>^ -- <path-to-file>`
+the caret (`^`) references one commit before sha, because in sha it is deleted. \ No newline at end of file