Add the ability to recover dropped Git stashes
This commit is contained in:
parent
7e60f13d7d
commit
f932fa792e
|
@ -122,9 +122,11 @@ alias gs='git stash'
|
||||||
alias gsa='git stash apply'
|
alias gsa='git stash apply'
|
||||||
alias gsc='git-stash-clear-interactive'
|
alias gsc='git-stash-clear-interactive'
|
||||||
alias gsx='git stash drop'
|
alias gsx='git stash drop'
|
||||||
|
alias gsd='git-stash-dropped'
|
||||||
alias gsl='git stash list'
|
alias gsl='git stash list'
|
||||||
alias gsL='git stash show --patch --stat'
|
alias gsL='git stash show --patch --stat'
|
||||||
alias gsp='git stash pop'
|
alias gsp='git stash pop'
|
||||||
|
alias gsr='git-stash-recover'
|
||||||
alias gss='git stash save --include-untracked'
|
alias gss='git stash save --include-untracked'
|
||||||
alias gsS='git stash save --patch --no-keep-index'
|
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