mirror of
https://github.com/jbranchaud/til
synced 2026-01-03 23:28:02 +00:00
Add Interactively Checkout Specific Files From A Stash as a Git TIL
This commit is contained in:
@@ -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).
|
For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186).
|
||||||
|
|
||||||
_1377 TILs and counting..._
|
_1378 TILs and counting..._
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -291,6 +291,7 @@ _1377 TILs and counting..._
|
|||||||
- [Include Or Exclude Remaining Patch Changes](git/include-or-exclude-remaining-patch-changes.md)
|
- [Include Or Exclude Remaining Patch Changes](git/include-or-exclude-remaining-patch-changes.md)
|
||||||
- [Include Some Stats In Your Git Log](git/include-some-stats-in-your-git-log.md)
|
- [Include Some Stats In Your Git Log](git/include-some-stats-in-your-git-log.md)
|
||||||
- [Intent To Add](git/intent-to-add.md)
|
- [Intent To Add](git/intent-to-add.md)
|
||||||
|
- [Interactively Checkout Specific Files From A Stash](git/interactively-checkout-specific-files-from-a-stash.md)
|
||||||
- [Interactively Unstage Changes](git/interactively-unstage-changes.md)
|
- [Interactively Unstage Changes](git/interactively-unstage-changes.md)
|
||||||
- [Keep File Locally With `git rm`](git/keep-file-locally-with-git-rm.md)
|
- [Keep File Locally With `git rm`](git/keep-file-locally-with-git-rm.md)
|
||||||
- [Last Commit A File Appeared In](git/last-commit-a-file-appeared-in.md)
|
- [Last Commit A File Appeared In](git/last-commit-a-file-appeared-in.md)
|
||||||
|
|||||||
18
git/interactively-checkout-specific-files-from-a-stash.md
Normal file
18
git/interactively-checkout-specific-files-from-a-stash.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Interactively Checkout Specific Files From A Stash
|
||||||
|
|
||||||
|
This command will prompt you with a list of the stashes in your current git
|
||||||
|
repo. Once you select one of them from the interactive fzf prompt, you will
|
||||||
|
then be prompted with another fzf prompt, this second one allow multi-select.
|
||||||
|
From there you can tab select the files you want to checkout. Once you've
|
||||||
|
marked the ones you want, hit enter and those files will be checked out to your
|
||||||
|
index.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git stash show --name-only $(
|
||||||
|
git stash list \
|
||||||
|
| fzf --height=20% --reverse \
|
||||||
|
| sed 's/:.*//'
|
||||||
|
) \
|
||||||
|
| fzf --height=20% --multi --sync \
|
||||||
|
| xargs -I {} sh -c 'git checkout stash@{0} -- {}'
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user