diff --git a/README.md b/README.md index 6d1c0f8..a5247d3 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ pairing with smart people at Hashrocket. For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186). -_1328 TILs and counting..._ +_1329 TILs and counting..._ --- @@ -1306,6 +1306,7 @@ _1328 TILs and counting..._ - [List The Available JDKs](unix/list-the-available-jdks.md) - [List The Stack Of Remembered Directories](unix/list-the-stack-of-remembered-directories.md) - [Load Env Vars In Bash Script](unix/load-env-vars-in-bash-script.md) +- [Look Through All Files That Have Been Git Stashed](unix/look-through-all-files-that-have-been-git-stashed.md) - [Map A Domain To localhost](unix/map-a-domain-to-localhost.md) - [Negative Look-Ahead Search With ripgrep](unix/negative-look-ahead-search-with-ripgrep.md) - [Occupy A Local Port With Netcat](unix/occupy-a-local-port-with-netcat.md) diff --git a/unix/look-through-all-files-that-have-been-git-stashed.md b/unix/look-through-all-files-that-have-been-git-stashed.md new file mode 100644 index 0000000..dc4bc7e --- /dev/null +++ b/unix/look-through-all-files-that-have-been-git-stashed.md @@ -0,0 +1,30 @@ +# Look Through All Files That Have Been Git Stashed + +When I use `git stash`, I typically _pop_ the stash not long after to continue +working with those changes. Still, over time the stash list tends to build up, +especially if I'm bouncing between lots of different work. + +I wired together a series of commands with the unix piping to make it easy to +explore the entire contents of the stash. + +```bash +$ git stash list \ + | awk -F: '{print $1}' \ + | xargs -I stash-ref git stash show stash-ref --name-only \ + | sort \ + | uniq +``` + +That "one-liner" on its own gives me a uniq list of all files across all my +stashes in the current git repo. + +I can then explore it by tacking on something like `fzf` or `grep`: + +```bash +$ git stash list \ + | awk -F: '{print $1}' \ + | xargs -I stash-ref git stash show stash-ref --name-only \ + | sort \ + | uniq \ + | grep '.*.md' +```