Using Git Sizer to Inform Your Git Repository Management

To avoid unexpected delays and performance issues, it's important to track the size of your repos. In this post, we'll share how the open-source tool Git Sizer can help.

Patrick Londa
Author
Apr 21, 2022
 • 
4
 min read
Share this post

One of the great things about Git is its branching capabilities with ease of merging and keeping track of changes. Its decentralized approach gives development teams more freedom, making parallel work easier and more efficient. The drawback to that freedom is that the size of your Git repositories can quickly get out of hand and have a negative impact. Luckily, there are many ways to keep them at a manageable level. Git Sizer is a tool that is easy to set up and use to perform Git repository analysis to help you keep your git repositories under control.

Why Does the Size of Your Git Repository Matter?

As the size of your git repository grows, it'll take longer for you or other developers to complete various processes. The time you lose because of poorly-managed Git repositories is often significant. If you’re a developer, you don’t want to see minutes ticking by as Git searches for what you need in a massive repository. These delays also impact your build time when you are cloning a large repository that includes BLOBs. 

In addition, overly large git repositories use more storage space, which leads to higher service costs. Hitting the size limit of your git repository could cause development to grind to a halt until you find a way to bring it back down.

What is Git Sizer?

Git Sizer is an open-source tool designed to help developers measure the size of their Git repositories. It works by computing Git size metrics, then alerting you when it finds a situation that will cause headaches down the line.

Developers can use Git Sizer to keep up with different measures of their repositories, such as:

  • The number of current Git objects
  • The size of each of the Git objects in a repository
  • The size of the working copy of a checked-out repository
  • The number of commits in the history of a repository
  • The size of individual files and directories
  • The number of modifications performed on large files and directories
  • The number of references contained within a repository

If any of these grow too large, it can lead to performance issues within Git. Your repository can grow quickly even if you aren’t using a lot of disk space. Developers should also make sure that the size of the repository is suited to the project at hand. If you have a large Git repository for a small project, that’s a sign that you’re not managing your space effectively.

Blink Automation: Run Git Sizer Analysis on a GitHub Repository
Blink + GitHub
Try This Automation

How Do You Use Git Sizer?

To install Git Sizer, make a local copy of your target repository and install the Git command line client. Make sure that the directory path is set to the one holding your repository. Next, run the following command:

git-sizer

Then, Git Sizer will gather statistics about any references and Git objects in your repository. You’ll receive a report once it completes all calculations. Go to the project page for Git Sizer to get a deeper understanding of the report output.

Using Your Repository Metrics to Follow Best Practices

When you generate this report, one of the outputs is the total size of your repositories. Try to keep your Git repositories to 1 GB or less. Anything larger can take a long time to clone and use additional space. If Git Sizer says you have too many references, try to remove any unnecessary branches and tags. Instead of tags, use Git notes to add relevant info.

Git Sizer is an excellent tool for developers looking for a way to track and manage what’s happening in their Git repositories, whether it’s for regular steady-state cleanup or in preparation for a migration.

Running Git Sizer with Blink

It’s a good practice to regularly check the size of your Git repository so you can anticipate if you’ll need to make adjustments. Git Sizer is great at pulling these metrics, but you might use it a couple times and forget to incorporate it into your regular operations.

When you create a Blink account, you’ll have access to pre-built automations like this one that make this task easy to schedule and run with a couple clicks:

Blink Automation: Run Git Sizer Report on Repository
Blink Automation: Run Git Sizer Report on Repository

You can import this automation from the Blink library into your account and customize it based on your organization’s needs. For example, you can drag-and-drop new actions into the canvas or set up notifications and conditional subflows.

You can build your own automation from scratch or use one of our 5K pre-built automations today.

Get started with Blink today.

Automate your security operations everywhere.

Blink is secure, decentralized, and cloud-native. 
Get modern cloud and security operations today.

Get a Demo