Skip to content

Instantly share code, notes, and snippets.

@vpetruchok
Last active November 28, 2018 13:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save vpetruchok/154d447625a290815ca92f5f9123e0cf to your computer and use it in GitHub Desktop.
Save vpetruchok/154d447625a290815ca92f5f9123e0cf to your computer and use it in GitHub Desktop.
Show git refs ordered by committer date DESC
#!/bin/sh

git for-each-ref --sort=-committerdate --format '%(objectname:short) %(objecttype) %(refname) | %(committerdate:relative)  %(if)%(authorname)%(then)(by %(authorname) %(authoremail))%(end)' "$@" | column  -t -s\|

Documentation: https://git-scm.com/docs/git-for-each-ref

Fields for the --format option from https://github.com/git/git/blob/4ede3d42dfb57f9a41ac96a1f216c62eb7566cc2/ref-filter.c#L429

{ "refname", SOURCE_NONE, FIELD_STR, refname_atom_parser },
	{ "objecttype", SOURCE_OTHER, FIELD_STR, objecttype_atom_parser },
	{ "objectsize", SOURCE_OTHER, FIELD_ULONG, objectsize_atom_parser },
	{ "objectname", SOURCE_OTHER, FIELD_STR, objectname_atom_parser },
	{ "tree", SOURCE_OBJ },
	{ "parent", SOURCE_OBJ },
	{ "numparent", SOURCE_OBJ, FIELD_ULONG },
	{ "object", SOURCE_OBJ },
	{ "type", SOURCE_OBJ },
	{ "tag", SOURCE_OBJ },
	{ "author", SOURCE_OBJ },
	{ "authorname", SOURCE_OBJ },
	{ "authoremail", SOURCE_OBJ },
	{ "authordate", SOURCE_OBJ, FIELD_TIME },
	{ "committer", SOURCE_OBJ },
	{ "committername", SOURCE_OBJ },
	{ "committeremail", SOURCE_OBJ },
	{ "committerdate", SOURCE_OBJ, FIELD_TIME },
	{ "tagger", SOURCE_OBJ },
	{ "taggername", SOURCE_OBJ },
	{ "taggeremail", SOURCE_OBJ },
	{ "taggerdate", SOURCE_OBJ, FIELD_TIME },
	{ "creator", SOURCE_OBJ },
	{ "creatordate", SOURCE_OBJ, FIELD_TIME },
	{ "subject", SOURCE_OBJ, FIELD_STR, subject_atom_parser },
	{ "body", SOURCE_OBJ, FIELD_STR, body_atom_parser },
	{ "trailers", SOURCE_OBJ, FIELD_STR, trailers_atom_parser },
	{ "contents", SOURCE_OBJ, FIELD_STR, contents_atom_parser },
	{ "upstream", SOURCE_NONE, FIELD_STR, remote_ref_atom_parser },
	{ "push", SOURCE_NONE, FIELD_STR, remote_ref_atom_parser },
	{ "symref", SOURCE_NONE, FIELD_STR, refname_atom_parser },
	{ "flag", SOURCE_NONE },
	{ "HEAD", SOURCE_NONE, FIELD_STR, head_atom_parser },
	{ "color", SOURCE_NONE, FIELD_STR, color_atom_parser },
	{ "align", SOURCE_NONE, FIELD_STR, align_atom_parser },
	{ "end", SOURCE_NONE },
	{ "if", SOURCE_NONE, FIELD_STR, if_atom_parser },
	{ "then", SOURCE_NONE },
	{ "else", SOURCE_NONE },
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment