Find long SHA from short SHA for git diff

I was generating difference / changes done in the commit so that I can upload it in ReviewBoard.

I used “git show d9f7121e8ebd4d1f789dab9f8214ada2h480b9cf”. It gave me diff something like…

  • Interpreting git diff output
  • Is there a ruby gem that does diff between HTML documents?
  • How to compare two files not in repo using git
  • Using vim as git difftool
  • Can you view an aggregate changeset in git? If so, how?
  • BitBucket colored diff email service
  • diff --git a/src/index.php b/src/index.php
    index 3cfa8e8..7f8440d 100644
    --- a/src/index.php
    +++ b/src/index.php
    @@ -12,10 +12,13 @@
     .test {
         width: auto;
    +    border-width: 5px;
    +    border-radius: 50%;

    When I create .patch file of this diff. Reviewboard rejects it saying “‘3cfa8e8’ revision is not valid format. SHA1 is too short”.

    So I wanted to get long SHA1 from short SHA1 ‘3cfa8e8’.

    I did ‘git show 3cfa8e8’. It just shows me some content of file. Doesn’t show me anything else.

    Any help how can I get long SHA?

    (Note:- All the sha and file diff are example to demonstrate the problem)

  • deriving version numbers from a git repository
  • error: gnutls_handshake() failed GIT repository
  • How to build, in git, old project's history?
  • Merge a Pull request which is one commit behind
  • How does “commits with” happen for commits already in the repo?
  • Supplying a password to git in a bash script
  • One Solution collect form web for “Find long SHA from short SHA for git diff”

    git rev-parse <short sha> should do the trick.

    See also the git rev-parse manpage.

    Git Baby is a git and github fan, let's start git clone.