Browse Source

Refactor the listing of lost Git commits

master
Sorin Ionescu 13 years ago
parent
commit
a4cf629c2f
  1. 2
      modules/git/alias.zsh
  2. 16
      modules/git/functions/git-commit-lost

2
modules/git/alias.zsh

@ -32,7 +32,7 @@ alias gcP='git cherry-pick --no-commit'
alias gcr='git revert' alias gcr='git revert'
alias gcR='git reset "HEAD^"' alias gcR='git reset "HEAD^"'
alias gcs='git show' alias gcs='git show'
alias gcv='git fsck | awk '\''/dangling commit/ {print $3}'\'' | git show --format="SHA1: %C(green)%h%C(reset) %f" --stdin | awk '\''/SHA1/ {sub("SHA1: ", ""); print}'\''' alias gcl='git-commit-lost'
# Data (d) # Data (d)
alias gd='git ls-files' alias gd='git ls-files'

16
modules/git/functions/git-commit-lost

@ -0,0 +1,16 @@
#
# Lists lost Git commits.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
git fsck 2> /dev/null \
| grep "^dangling commit" \
| awk '{print $3}' \
| git log \
--date-order \
--no-walk \
--stdin \
${git_log_format_oneline}
Loading…
Cancel
Save