Git Log Cheatsheet For a Productive 2023
Tags: programming, beginners, git, development
Published: 2023-08-10 05:30:00


**Git** is a widely used distributed version control system that allows software developers to manage and track changes to their codebase. Git logs are an essential part of Git that can help developers understand what changes have been made to a repository, who made them, and when they were made.

**[Read more: [What is Git, Features, Command and Workflow](https://www.hatica.io/blog/git-features-command-workflow/?utm_source=dev.to&utm_medium=referral&utm_campaign=tool-led+content)]**

In this article, let’s explore some useful Git log tricks that can make your Git workflow more efficient, intuitive, and better.

## **1. Viewing Git Logs**

The most basic Git log command is "git log." This command displays the commit history for the current branch, starting with the most recent commit. The output includes the commit hash, author, date, and commit message. By default, Git displays the output in a pager, which allows you to scroll through the history.

![Viewing Git Logs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uld51uacgt907qe5ttki.png)

## **2. Limiting Git Log Output**

When working with large repositories, the Git log output can quickly become overwhelming. Git provides several options to limit the output of the log command. One of the most useful options is the "--since" option. This option allows you to specify a date and time to start the log output. For example, to view the log since March 1st, 2023, you would use the command "git log --since=2023-03-01."

Another useful option is the "--author" option. This option allows you to filter the log output by author. For example, to view the log for only commits made by "John Doe," you would use the command "git log --author='John Doe'."

![Limiting Git Log Output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z6tvsfufymzg7imu0bk4.png)

![Git log tricks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y2tkrankcc6ghqovk98w.png)

## **3. Displaying Git Log in a Graphical Format**

Git log can also display the commit history in a graphical format using the "--graph" tag option. This option displays the commit history as a graph, with each commit represented by a node. The nodes are connected by lines that indicate the branch and merge history. This is particularly useful for visualizing the development history of a repository.

**[Read more: [Top Git Extensions For VS Code in 2023](https://www.hatica.io/blog/git-extensions-for-vs-code/?utm_source=dev.to&utm_medium=referral&utm_campaign=tool-led+content)]**

![Displaying Git Log in a Graphical Format](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wempzszyv2ayrs0umwz7.png)

## **4. Searching Git Log Messages**

Git logs can be searched for specific commit messages using the "--grep" option. This option allows you to search for a specific string in the commit message. For example, to search for all commits that contain the word "bug," you would use the command "git log --grep='bug'."

![Searching Git Log Messages](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xloz3z6dd3xrbof26dn9.png)

## **5. Displaying Git Log Statistics**

Git logs can also display statistics about the changes made in each commit using the "--stat" option. This option displays the number of files changed, the number of lines added and removed, and the file names. This can be particularly useful for tracking changes to a codebase over time.

![Displaying Git Log Statistics](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7mornarphvwty4mwnn52.png)

## **6. Customizing Git Log Output**

Git logs can be customized to display specific information using the "--pretty" option. This option allows you to specify a custom format for the log output. For example, to display only the commit hash and commit message, you would use the command "git log --pretty=format:'%h %s'."

![Customizing Git Log Output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ayaoaix9h2meq2z1kqwk.png)

## **7. Displaying Git Log in a Short Format**

Git logs can also be displayed in a short format using the "--oneline" option. This option displays each commit on a single line, with the commit hash and commit message separated by a space. This can be particularly useful for quickly scanning the commit history of a repository.

![Displaying Git Log in a Short Format](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rs341ver94v7c7bvmvbm.png)

## **8. Comparing Git Logs**

Git logs can be compared using the ".." operator. This operator allows you to compare the commit history between two branches or commits. For example, to compare the commit history between the "master" and "develop" branches, you would use the command "git log master..develop."

![Comparing Git Logs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fmrituq6yxt91f2n9s7j.png)

## **Other Must-Have Git Log Tricks**
Git logs are a powerful tool for tracking changes in your repository. Here are some useful Git log tricks:


- `git log` shows the commit history for the current branch.

- `git log --follow <file>` shows the commit history for a specific file, even if the file has been renamed.

- `git log --grep <pattern>` shows the commit history for commits with messages that match a specific pattern.

- `git log -S <string>` shows the commit history for commits that added or removed a specific string.

- `git log --oneline` shows the commit history in a condensed format.

- `git log --graph` shows the commit history in a graph format, with branch and merge information.

- `git log --pretty=format:"%h %s"` shows the commit history in a custom format.

- `git log --author=<author>` shows the commit history for a specific author.

- `git log --since=<date>` shows the commit history since a specific date.

- `git log --until=<date>` shows the commit history until a specific date.

- `git log --oneline --decorate --all --graph` shows a condensed, decorated graph of the commit history for all branches.

- `git log --stat` shows statistics for the number of files changed and lines added/deleted for each commit.

- `git log branch1..branch2` compares the logs between two branches and shows the commits that are unique to branch2.

**[Read more: [Best Git Branching Strategies For Engineering Teams](https://www.hatica.io/blog/best-git-branching-strategies/?utm_source=dev.to&utm_medium=referral&utm_campaign=tool-led+content)]**

## **Conclusion**

In conclusion, Git logs are an essential part of the Git workflow, and understanding how to use them effectively can save you time and improve your productivity. In this article, we have explored several useful Git log tricks, including limiting Git log output, displaying Git log in a graphical format.

However, simply using Git, might not be enough to get the best out of your project space, an engineering analytics tool can equip you with the data-driven insights you need to place your team on top. Hatica offers metrics across 13 dashboards, powered by CI/CD tools, [Jira](https://www.hatica.io/blog/jira-automation/?utm_source=dev.to&utm_medium=referral&utm_campaign=tool-led+content), GitHub,Azure,CircleCI and GitLab. By collating tool activities at one place, [Hatica](https://www.hatica.io/?utm_source=dev.to&utm_medium=referral&utm_campaign=tool-led+content) helps teams streamline their workflow and improve productivity.

Subscribe to the [Hatica blog](https://www.hatica.io/blog/?utm_source=dev.to&utm_medium=referral&utm_campaign=tool-led+content) today to read more about unblocking developers, and boosting productivity with engineering analytics.