diff --git a/README.md b/README.md index da899e9..82918a6 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,10 @@ than remember the plumbing term of a specific command. * `changes` compare the list of commits on the local branch to another branch, e.g. when on a feature branch `git changes master` lists the commits which are not present on the master branch. -* `save` like pushing to the stash but attached to a branch, shorthand for - `git commit -am temp`. -* `load` like popping from the stash but attached to a branch, shorthand for - `git reset --mixed HEAD`. +* `save` like pushing to the stash but attached to the current branch, shorthand + for `git commit -am "temp!"`. +* `load` like popping from the stash but attached to the current branch, if + `HEAD` has the subject `temp!` then `git reset --mixed HEAD~` is executed, + otherwise the message `error: commit subject is not: temp!` is output. [git]: https://git-scm.com diff --git a/config b/config index b33ee51..4beddc6 100644 --- a/config +++ b/config @@ -21,8 +21,9 @@ tree = log --graph --abbrev-commit --oneline --decorate \ --format=format:'%C(yellow)%h%C(reset) %C(blue)%aD%C(reset) %C(green)(%ar)%C(reset)%C(bold)%d%C(reset)%n %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' - save = commit -am temp - load = reset --mixed HEAD~ + save = commit -am "temp!" + load = !sh -c '[ \"temp!\" = \"`git show --format=%s --no-patch`\" ] && \ + git reset --mixed HEAD~ || echo \"error: commit subject is not: temp!\"' [commit] verbose = true