Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Visualize Git Orphans via gitk and log
# Put this in your .gitconfig file under the alias section
orphank = !gitk --all `git reflog | cut -c1-7`&
# Then run it by typing 'git orphank' on the command line.
# A text version of the same is
orphanl = !git --pretty=oneline --abbrev-commit --graph --decorate `git reflog | cut -c1-7`
* a17bf55 (HEAD, master) Placeholder
* 8d2636d (origin/master, origin/HEAD) Added text about image diff example
| * 7c0ffa9 (origin/feature_image, feature_image) Made changes to an image to sh
| * 7c1bf73 Created an image to be used for web image diffing on GitHub
|/
| * d5f4cdc Made changes to an image to show GitHub web image diffing.
| * 2a354dd Created an image to be used for web image diffing on GitHub
| | * e9eb5b9 Made changes to an image to show GitHub web image diffing.
| | * 417a71b Created an image to be used for web image diffing on GitHub
| | | * 9648459 Made changes to an image to show GitHub web image diffing.
| | | | * 1aad461 Changes to image
| | | |/
| | | * b5e6eb5 Created an image to be used for web image diffing on GitHub
| | | | * 6dc1b97 Image 1
| | | |/
| | | | * 9915b4e Changes to image
| | | | * e64fb9d Image 1
| | | | * 9a53b8e Good change from mattaltego
| | | | * 2961fee Revert "Main feature"
| | | |/
| | | | * d7b2900 Changes to image
| | | | * 949320c Image 1
| | | | * 3462650 Merge branch 'master' of github.com:matthewmccullough/hellog
@stevefolly

This comment has been minimized.

Copy link

commented Mar 19, 2015

To prevent unambiguous SHA1 IDs, suggest using cut -d " " -f 1.
git reflog will write as many characters as necessary to the SHA1 ID to be unambiguous

@padeler

This comment has been minimized.

Copy link

commented Jul 5, 2015

orphanl command should be:
orphanl = !git log --pretty=oneline --abbrev-commit --graph --decorate git reflog | cut -d " " -f 1

@n0dyjeff

This comment has been minimized.

Copy link

commented Jan 12, 2019

orphanl command should be:

orphanl = !git log --pretty=oneline --abbrev-commit --graph --decorate `git reflog | cut -d ' ' -f 1`

The single quotes are needed to pass through git unscathed (rather than double quotes). It looks like the backticks were dropped by the markdown editor in the previous post - added back here.

@living180

This comment has been minimized.

Copy link

commented May 28, 2019

Rather than passing the git reflog output through cut, an even easier solution is to just use git reflog --format=format:%h:

orphank = !gitk --all $(git reflog --format=format:%h)
@mercuriete

This comment has been minimized.

Copy link

commented Jul 30, 2019

@living180 Thank you very much.
You saved my life.
Nice command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.