Add the ability to recover dropped Git stashes
This commit is contained in:
parent
7e60f13d7d
commit
f932fa792e
3 changed files with 34 additions and 0 deletions
|
@ -122,9 +122,11 @@ alias gs='git stash'
|
|||
alias gsa='git stash apply'
|
||||
alias gsc='git-stash-clear-interactive'
|
||||
alias gsx='git stash drop'
|
||||
alias gsd='git-stash-dropped'
|
||||
alias gsl='git stash list'
|
||||
alias gsL='git stash show --patch --stat'
|
||||
alias gsp='git stash pop'
|
||||
alias gsr='git-stash-recover'
|
||||
alias gss='git stash save --include-untracked'
|
||||
alias gsS='git stash save --patch --no-keep-index'
|
||||
|
||||
|
|
18
modules/git/functions/git-stash-dropped
Normal file
18
modules/git/functions/git-stash-dropped
Normal file
|
@ -0,0 +1,18 @@
|
|||
#
|
||||
# Lists dropped Git stashed states.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
git fsck --unreachable 2> /dev/null
|
||||
| grep 'commit' \
|
||||
| awk '{print $3}' \
|
||||
| git log \
|
||||
${git_log_format_oneline}
|
||||
--extended-regexp \
|
||||
--grep="${1:-(WIP )?[Oo]n [^:]+:}" \
|
||||
--merges \
|
||||
--no-walk \
|
||||
--stdin
|
||||
|
14
modules/git/functions/git-stash-recover
Normal file
14
modules/git/functions/git-stash-recover
Normal file
|
@ -0,0 +1,14 @@
|
|||
#
|
||||
# Recovers dropped Git stashed states.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
local commit
|
||||
|
||||
for commit in "$@"; do
|
||||
git update-ref \
|
||||
-m "$(git log -1 --pretty="format:%s" "$commit")" refs/stash "$commit"
|
||||
done
|
||||
|
Loading…
Reference in a new issue