Git List Commits

Abdul Jabbar Nov 09, 2022 Git Git Commit
  1. Commit Hashes
  2. Methods of Viewing Commit History
Git List Commits

Git is the most common, free and open-source distributed version-controlling system. It has repositories that play a significant part in Git’s world.

There is a huge significance of repositories in the developer’s life as this feature of Git; a developer can look into the past and have ideas regarding the commits that have been made to the project through the feature of Git, which is the commit history.

Commits are snapshots of the files we have done by developers during the project’s life cycle. Each snapshot is comprised of whole information in detail about the project.

Every file in the snapshot has its unique identity, “a unique SHA-1 hash”, which is particularly known as “blobs”. A tree specifies these blobs, and the commit specifies that tree.

Commit Hashes

Commit hashes are the long string that follows the word commit. It is probably called a Git commit reference or SHA.

This section will teach us how to view commits in different scenarios we have made while working on a project with team members.

Methods of Viewing Commit History

View a Specific Commit

We have to look at the specific commit if we have the hash string of that specific commit through Git’s useful command git show, which will show us the changes for that particular single commit.

Following is an example of that command.

git show 5eba8ab3b718a6ab6610186be934ba214e228a58

Commit hashes can be used shortly rather than specifying the whole big SHA because all the commit hashes are generally unique so we can use a few starting letters/numbers, and the result would be the same.

View List of Recent Commits

If we want to go through the latest commits and see recent details regarding our project, Git has a very smooth command for this situation, which is very easy to use. We can say that the commit history can be seen in various ways with the help of the command git log.

git log

The above command will result in a chronological list of recent commits in chronological order, showing the recent commit as the first, following the old ones.

Output:

commit d240853866f20fc3e536cb3bca86c86c54b487ce
Author: test User <Test@user.media>
Date:   Fri Sept 12 11:44:39 2021 +0100

     commit for the first feature

Through this, we will see all the details, including the developer’s name, who made the commit, at what time the developer made it, and the developer’s email id, including the detail of the message they entered at the time of the commit.

View Commit Not Referenced to Any Branch or Tag

The changes done to the branch tips can be tracked through Git’s special feature, git reflog. It’s particularly related to local and has no concern with the repository.

It helps us view any commit that is not specified to any branch or is not named. We have seen a parameter ref attached to many Git commands; this parameter indicates references and is used in referencing a commit.

The file reflog is found in .git/logs/refs/heads/., which mainly keeps track of the history of local commits for a particular branch, excluding the commits that have been thrown away by git garbage collection processes. It helps recover deleted branches and commits.

Below is the command we are talking about.

git log --reflog

The above command will come up with all the git commits by assuming that all the targets stated by reflogs, that is, git reflog, are mentioned on the specified command line displayed as <commit>.

Author: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Related Article - Git Commit

  • Get Current Commit in Git
  • Git Add and Git Commit in One Command
  • git add, git commit, and git push in One Command
  • Commit Current Changes to a Different Branch in Git
  • Exit the Commit Message Editor