git rev-parse

Resolve Git refs or paths into object names and directory info

This command resolves branch names, tags, revisions, or path expressions into their corresponding SHA-1 hashes or directory paths, making it invaluable for scripting and plumbing tasks in Git.

By default it takes a revision or variable (e.g. HEAD, master, refs/tags/v1.0) and prints the full object name. With flags like --short it abbreviates the hash; with --abbrev-ref it shows the branch name instead of a SHA; --verify ensures the ref exists; --show-toplevel prints the top-level project directory; and --git-dir or --work-tree reveals repository layout paths.

Common variations include git rev-parse --short HEAD for a shortened commit ID, git rev-parse --abbrev-ref HEAD to get the current branch, git rev-parse --show-toplevel to find the project root, and git rev-parse --verify <ref> to validate a reference.

Similar plumbing commands are git show-ref for listing refs, git symbolic-ref for resolving symbolic refs, and git describe for human-friendly names.

Related commands

Welcome to GitExamples!

Sign in to enable bookmarking, reminders, progress-tracking and more...