diff --git a/base/libgit2/commit.jl b/base/libgit2/commit.jl
index 8d620ae65352f..7831e0904a290 100644
--- a/base/libgit2/commit.jl
+++ b/base/libgit2/commit.jl
@@ -22,6 +22,12 @@ function committer(c::GitCommit)
     return Signature(ptr)
 end
 
+function Base.show(io::IO, c::GitCommit)
+    authstr = sprint(show, author(c))
+    cmtrstr = sprint(show, committer(c))
+    print(io, "Git Commit:\nCommit Author: $authstr\nCommitter: $cmtrstr\nSHA: $(GitHash(c))\nMessage:\n$(message(c))")
+end
+
 """ Wrapper around `git_commit_create` """
 function commit(repo::GitRepo,
                 refname::AbstractString,
diff --git a/base/libgit2/signature.jl b/base/libgit2/signature.jl
index 644dc57619ad6..8fd7d88a1aa01 100644
--- a/base/libgit2/signature.jl
+++ b/base/libgit2/signature.jl
@@ -35,6 +35,8 @@ function Base.convert(::Type{GitSignature}, sig::Signature)
     return GitSignature(sig_ptr_ptr[])
 end
 
+Base.show(io::IO, sig::Signature) = print(io, "Name: $(sig.name), Email: $(sig.email), Time: $(Dates.unix2datetime(sig.time + sig.time_offset))")
+
 """Return signature object. Free it after use."""
 function default_signature(repo::GitRepo)
     sig_ptr_ptr = Ref{Ptr{SignatureStruct}}(C_NULL)
diff --git a/test/libgit2.jl b/test/libgit2.jl
index 049816b43f65e..10082f1a78bb5 100644
--- a/test/libgit2.jl
+++ b/test/libgit2.jl
@@ -302,6 +302,14 @@ mktempdir() do dir
                     @test cmtr.time == test_sig.time
                     @test cmtr.email == test_sig.email
                     @test LibGit2.message(cmt) == commit_msg1
+                    showstr = split(sprint(show, cmt), "\n")
+                    # the time of the commit will vary so just test the first two parts
+                    @test contains(showstr[1], "Git Commit:")
+                    @test contains(showstr[2], "Commit Author: Name: TEST, Email: TEST@TEST.COM, Time:")
+                    @test contains(showstr[3], "Committer: Name: TEST, Email: TEST@TEST.COM, Time:")
+                    @test contains(showstr[4], "SHA:")
+                    @test showstr[5] == "Message:"
+                    @test showstr[6] == commit_msg1
                 finally
                     close(cmt)
                 end