summaryrefslogtreecommitdiff
path: root/3 Resources/Git/Find files in history.md
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-03-20 11:07:49 +0100
committerJasper Ras <jras@hostnet.nl>2025-03-20 11:07:49 +0100
commit80ccf68f55dbb70d7e5ed52ee95b3c9d1b6ce264 (patch)
tree93e28e85ab70052aa6f577998ec7dc1f413b40c0 /3 Resources/Git/Find files in history.md
parent9642cd7ae24f0ba79ce5647c709b35ae8f06a285 (diff)
vault backup: 2025-03-20 11:07:48
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