Git Software for Mac

View 29 business solutions
Git Mac Clear Filters
  • Auth0 B2B Essentials: SSO, MFA, and RBAC Built In Icon
    Auth0 B2B Essentials: SSO, MFA, and RBAC Built In

    Unlimited organizations, 3 enterprise SSO connections, role-based access control, and pro MFA included. Dev and prod tenants out of the box.

    Auth0's B2B Essentials plan gives you everything you need to ship secure multi-tenant apps. Unlimited orgs, enterprise SSO, RBAC, audit log streaming, and higher auth and API limits included. Add on M2M tokens, enterprise MFA, or additional SSO connections as you scale.
    Sign Up Free
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 1
    Git Extras

    Git Extras

    GIT utilities, repo summary, repl, changelog population, and more

    GIT extra utilities, like repo summary, repl, changelog population, author commit percentages and more. Supports several sub-commands such as git-ignore, git-setup, git-summary, git-changelog, git-effort, etc. Some commands require extra dependencies which are unavailable in some platforms. You may need to install them manually. Note that only the Homebrew package is maintained by the git-extras developers directly. Other packages are maintained by the distribution's packagers or third-party volunteers. Installing from Homebrew will not give you the option omit certain git-extras if they conflict with existing git aliases. To have this option, build from source.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 2
    GitButler

    GitButler

    The GitButler version control client, backed by Git

    GitButler is a modern Git-based version control client that pairs a graphical desktop experience with a complementary command-line tool, aiming to make everyday change management easier than traditional Git workflows. It keeps Git compatibility at the core, meaning your work still maps to commits, branches, and pushes to standard Git servers, but it rethinks how you interact with that underlying model. The project is designed around developer productivity, emphasizing smoother workflows for handling multiple streams of work, reviewing changes, and recovering from mistakes without the usual friction. It also positions itself for AI-assisted development patterns, where tooling needs to support rapid iteration and parallel work while staying understandable and reversible. By offering both GUI and CLI surfaces, it can fit into different team preferences, from visual-first change review to scriptable automation.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    GitSavvy

    GitSavvy

    Full git and GitHub integration with Sublime Text

    Sublime Text plugin providing probably all git has to offer. Sublime Text 2 is not supported. Also, GitSavvy takes advantage of modern features of Sublime Text (like annotations). For the best experience, use the latest Sublime Text dev build. The documentation is probably outdated. Yeah it's sad but you can contribute and I will eventually get onto it but every special view has help available, just press ?. GitSavvy requires Git versions at or greater than 2.18.0. basic Git functionality; init, add, commit, amend, checkout, pull, push, etc. Rebasing just from that "Repo History". Edit a commit, reword a commit, autosquash commits, apply a fixup, whatever... the [r] menu. git diff view, allowing user to stage, unstage and reset (discard) files, hunks or individual lines. GitHub-style blame view, showing hunk metadata and ability to view the commit that made the change.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 4
    GitUp

    GitUp

    A Git interface to work quickly and safely

    Work quickly, safely, and without headaches. The Git interface you've been missing all your life has finally arrived. GitUp lets you see your entire labyrinth of branches and merges with perfect clarity. Any change you make, large or small, even outside GitUp, is immediately reflected in GitUp's graph. No refreshing, no waiting. Highlight a commit and hit the spacebar to quickly see its message and diff. GitUp gives you full, transparent control over your local checkout, so it's easy to back out from unwanted changes. GitUp's Snapshot feature builds a Time-Machine-like history of every change made to your repo, allowing you to step backwards to any point in time. Rewrite, split, delete, and re-order commits, fixup and squash, cherry-pick, merge, rebase, etc. It's all here, and it's lightning-fast. Surf your repo, make changes, and rewind it all back with a few short keystrokes.
    Downloads: 3 This Week
    Last Update:
    See Project
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 5
    Onefetch

    Onefetch

    Git repository summary on your terminal

    Onefetch is a command-line Git information tool written in Rust that displays project information and code statistics for a local Git repository directly on your terminal. The tool is completely offline, no network access is required. By default, the repo's information is displayed alongside the dominant language's logo, but you can further configure onefetch to instead use an image, on supported terminals, text input, or nothing at all. It automatically detects open source licenses from texts and provides the user with valuable information like code distribution, pending changes, number of dependencies (by package manager), top contributors (by number of commits), the size on disk, creation date, LOC (lines of code), etc. Onefetch can be configured via command-line flags to display exactly what you want, the way you want it to: you can customize ASCII/Text formatting, disable info lines, ignore files & directories, and output in multiple formats (JSON, Yaml), etc.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 6
    Talisman

    Talisman

    Talisman validates the outgoing changeset

    Talisman is a tool that installs a hook to your repository to ensure that potential secrets or sensitive information do not leave the developer's workstation. It validates the outgoing changeset for things that look suspicious - such as potential SSH keys, authorization tokens, private keys etc. Talisman can also be used as a repository history scanner to detect secrets that have already been checked in, so that you can take an informed decision to safeguard secrets. We recommend installing Talisman as a pre-commit git hook template, as that will cause Talisman to be present, not only in your existing git repositories, but also in any new repository that you 'init' or 'clone'. Installation of Talisman globally does not clobber pre-existing hooks on repositories. If the installation script finds any existing hooks, it will only indicate so on the console. After the installation is successful, Talisman will run checks for obvious secrets automatically before each commit or push.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 7
    actions/github-script

    actions/github-script

    Write workflows scripting the GitHub API in JavaScript

    This action makes it easy to quickly write a script in your workflow that uses the GitHub API and the workflow run context. To use this action, provide an input named script that contains the body of an asynchronous function call. Since the script is just a function body, these values will already be defined, so you don't have to import them. All scripts are now run with Node 16 instead of Node 12 and are affected by any breaking changes between Node 12 and 16. By default, the JSON-encoded return value of the function is set as the "result" in the output of a github-script step. For some workflows, string encoding is preferred. This option can be set using the result-encoding input. By default, requests made with the github instance will not be retried. You can configure this with the retries option.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    commitlint

    commitlint

    Lint commit messages

    commitlint checks if your commit messages meet the conventional commit format. commitlint helps your team adhere to a commit convention. By supporting npm-installed configurations it makes sharing of commit conventions easy. We're not a sponsored OSS project. Therefore we can't promise that we will release patch versions for older releases in a timely manner. If you are stuck on an older version and need a security patch we're happy if you can provide a PR. If something in between fails (like a new packages was added and needs to be published for the first time but you forgot) you can use lerna publish from-package to publish anythign that has not been published yet. We identify ease of adoption and developer experience as fields where there is room and need for improvement. The items on the roadmap should enhance commitlint regarding those aspects.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    git absorb

    git absorb

    git commit --fixup, but automatic

    This is a port of Facebook's hg absorb. Facebook demoed hg absorb which is probably the coolest workflow enhancement I've seen to version control in years. Essentially, when your working directory has uncommitted changes on top of draft changesets, you can run hg absorb and the uncommitted modifications are automagically folded ("absorbed") into the appropriate draft ancestor changesets. This is essentially doing hg histedit + "roll" actions without having to make a commit or manually make history modification rules. The command essentially looks at the lines that were modified, finds a changeset modifying those lines, and amends that changeset to include your uncommitted changes. If the changes can't be made without conflicts, they remain uncommitted. This workflow is insanely useful for things like applying review feedback. You just make file changes, run hg absorb and the mapping of changes to commits sorts itself out. It is magical.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Gemini 3 and 200+ AI Models on One Platform Icon
    Gemini 3 and 200+ AI Models on One Platform

    Access Google's best plus Claude, Llama, and Gemma. Fine-tune and deploy from one console.

    Build generative AI apps with Vertex AI. Switch between models without switching platforms.
    Start Free
  • 10
    git-auto-commit Action

    git-auto-commit Action

    Automatically Commit changed Files back to GitHub

    Automatically Commit changed Files back to GitHub with GitHub Actions for the 80% use case. A GitHub Action to detect changed files during a Workflow run and to commit and push them back to the GitHub repository. By default, the commit is made in the name of "GitHub Actions" and co-authored by the user that made the last commit. Note that the Action has to be used in a Job that runs on a UNIX system (e.g. ubuntu-latest). If you don't use the default permission of the GITHUB_TOKEN, give the Job or Workflow at least the contents: write permission. The goal of this Action is to be "the Action for committing files for the 80% use case". Therefore, you might run into issues if your Workflow falls into the not supported 20% portion. If your Workflow can't push the commit to the repository because of authentication issues, please update your Workflow configuration.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    git-delete-merged-branches

    git-delete-merged-branches

    Command-line tool to delete merged Git branches

    A convenient command-line tool helping you keep repositories clean. Supports deletion of both local and remote branches. Detects multiple forms of de-facto merges (rebase merges, squash merges (needs --effort=3), single or range cherry-picks… leveraging git cherry). Supports workflows with multiple release branches, e.g. only delete branches that have been merged to all of master, dev and staging. Quick interactive configuration. Provider agnostic: Works with GitHub, GitLab, Gitea and any other Git hosting. Takes safety seriously. Deletion is a sharp knife that requires care. While git reflog would have your back in most cases, git-delete-merged-branches takes safety seriously. git push is used with --force-with-lease so if the server and you have a different understanding of that branch, it is not deleted. There is no use of os.system or shell code to go wrong.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    git-sketch-plugin

    git-sketch-plugin

    A Git client generating pretty diffs built right into Sketch

    A Git client generating pretty diffs built right into Sketch. A Git client built right into Sketch. The plugin really improves the review process by exporting an image for every part of the design. Every member of the team can quickly see what the next iteration will change through Github’s interface. Each step of the design process is now documented. Newcomers are able to understand how we ended up with the current iteration and why we went with some options and not others. Create a new branch when you start working on a new feature. Work normally on your design. Save the file. Commit the changes with a meaningful message describing them. The plugin will extract the artboards in your file in order to show the differences easily. Push your changes to the remote. Create a pull request from your branch to the master branch. Voila. Your co-workers can review the changes, comment on them and approve them. Once approved, merge the pull request.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 13
    gitbase

    gitbase

    SQL interface to git repositories, written in Go.

    gitbase, is a SQL database interface to Git repositories. This project is now part of source{d} Community Edition, which provides the simplest way to get started with a single command. It can be used to perform SQL queries about the Git history and about the Universal AST of the code itself. gitbase is being built to work on top of any number of git repositories. gitbase implements the MySQL wire protocol, it can be accessed using any MySQL client or library from any language. The project is currently in alpha stage, meaning it's still lacking performance in a number of cases but we are working hard on getting a performant system able to process thousands of repositories in a single node. Stay tuned! gitbase was born to ease the analysis of git repositories and their source code. Also, making it MySQL compatible, we provide the maximum compatibility between languages and existing tools.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 14
    github-changelog-generator

    github-changelog-generator

    Automatically generate change log from your tags, issues, labels, etc.

    Automatically generate change log from your tags, issues, labels and pull requests on GitHub. Fully automated changelog generation - This gem generates a changelog file based on tags, issues and merged pull requests (and splits them into separate lists according to labels) from octocat: GitHub. What’s the point of a changelog? To make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project. Why should I care? Because software tools are for people. "Changelogs make it easier for users and contributors to see precisely what notable changes have been made between each release (or version) of the project." Using Docker is an alternative to installing Ruby and the gem.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 15
    gitoxide

    gitoxide

    An idiomatic, lean, fast & safe pure Rust implementation of Git

    An idiomatic, lean, fast & safe pure Rust implementation of Git. gix is a command-line interface (CLI) to access git repositories. It's written to optimize the user experience and perform as well or better than the canonical implementation. Furthermore, it provides an easy and safe to use API in the form of various small crates for implementing your own tools in a breeze. Please see 'Development Status' for a listing of all crates and their capabilities. Please note that all functionality comes from the gitoxide-core library, which mirrors these capabilities and itself relies on all git-* crates. Limit the number of threads used in operations that support it. Choose between 'human' and 'JSON' output formats. Display general information about the index itself, with detailed extension information by default and detailed information about the TREE extension. Follow the linked crate name for detailed status.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    gitsigns.nvim

    gitsigns.nvim

    Git integration for buffers

    Super fast git decorations implemented purely in lua/teal. Signs for added, removed, and changed lines. Asynchronous using luv. Navigation between hunks. Stage hunks (with undo). Preview diffs of hunks (with word diff). Customizable (signs, highlights, mappings, etc). Status bar integration. Git blame a specific line using virtual text. Hunk text object. Automatically follow files moved in the index. Live intra-line word diff. Ability to display deleted/changed lines via virtual lines. Support for yadm. Support for detached working trees. If you are running a development version of Neovim (aka master), then breakage may occur if your build is behind latest. Gitsigns provides an on_attach callback which can be used to setup buffer mappings. This plugin is actively developed and by one of the most well regarded vim plugin developers. Gitsigns will only implement features of this plugin if: it is simple, or, the technologies leveraged by Gitsigns (LuaJIT, Libuv, Neovim's API, etc).
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17
    nbstripout

    nbstripout

    strip output from Jupyter and IPython notebooks

    Opens a notebook, strips its output, and writes the outputless version to the original file. Useful mainly as a git filter or pre-commit hook for users who don't want to track output in VCS. This does mostly the same thing as the Clear All Output command in the notebook UI. You can download and install the latest version of nbstripout from PyPI, the Python package index. Strip output from IPython / Jupyter / Zeppelin notebook (modifies the file in-place). Usually, nbstripout is installed per repository so you can choose where to use it or not. You can choose to set the attributes in .gitattributes and commit this file to your repository, however there is no way to have git set up the filters automatically when someone clones a repository. This is by design, to prevent you from executing arbitrary and potentially malicious code when cloning a repository.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 18
    simple-git-hooks

    simple-git-hooks

    A simple git hooks manager for small projects

    A simple git hooks manager for small projects. A git hook is a command or script that is going to be run every time you perform a git action, like git commit or git push. If the execution of a git hook fails, then the git action aborts. For example, if you want to run linter on every commit to ensure code quality in your project, then you can create a pre-commit hook that would call npx lint-staged. Check out lint-staged. It works really well with simple-git-hooks. You can look up about git hooks on the Pro Git book. simple-git-hooks works well for small-sized projects when you need quickly set up hooks and forget about it. However, this package requires you to manually apply the changes to git hooks. If you update them often, this is probably not the best choice. Also, this package allows you to set only one command per git hook.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 19
    Git Blame Someone Else

    Git Blame Someone Else

    Blame someone else for your bad code

    git-blame-someone-else is a humorous Git utility created as a joke to let developers attribute problematic code to someone else. It modifies both the author and committer information of a commit, making it appear as though another contributor is responsible for the changes. While not intended for production repositories, it demonstrates how Git’s metadata can be manipulated for fun or demonstration purposes. The project highlights how easily commit authorship can be altered, serving as both a lighthearted tool and a reminder about the importance of trust in version control history. It’s written in shell script and is lightweight, requiring only Git and basic system tools to run. Despite being a novelty project, its popularity shows how developers appreciate humor injected into the programming ecosystem.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    Gitinspector

    Gitinspector

    The statistical analysis tool for git repositories

    Gitinspector is a statistical analysis tool for git repositories. The default analysis shows general statistics per author, which can be complemented with a timeline analysis that shows the workload and activity of each author. Under normal operation, it filters the results to only show statistics about a number of given extensions and by default only includes source files in the statistical analysis. This tool was originally written to help fetch repository statistics from student projects in the course Object-oriented Programming Project (TDA367/DIT211) at Chalmers University of Technology and Gothenburg University. Shows cumulative work by each author in history. Filters results by an extension (default: java,c,cc,cpp,h,hh,hpp,py,glsl,rb,js, SQL). Can display a statistical timeline analysis. Scans for all filetypes (by extension) found in the repository. Multi-threaded; uses multiple instances of git to speed up analysis when possible.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    Gitlogue

    Gitlogue

    A cinematic Git commit replay tool for the terminal

    Gitlogue provides a fun and creative command-line tool that turns your Git commit history into an animated replay, displaying your commits as if someone were typing the changes in real time with cinematic flair. When you run this tool in the terminal, it visually replays diffs line by line, highlights syntax, and shows changes evolving in a way that feels like watching a code story unfold, which can be entertaining and useful for reviewing history or showcasing progress. It builds on typical Git data but reshapes it into a compelling narrative with visual appeal, making it great for demos, teaching, or just savoring your development journey. The tool is standalone and designed to be easy to install and run, so users don’t need complex setups to enjoy animated commit histories. Gitlogue adds atmosphere and personality to otherwise dry version control logs, and it supports terminal-friendly output that respects your existing workflow.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 22
    Gitmal

    Gitmal

    A static page generator for repos

    Gitmal is a static page generator that turns the contents of a Git repository into a clean, navigable HTML website, making it easier to share or showcase code outside of traditional Git hosting platforms. It reads repository metadata including files, commits, branches, and markdown, and produces a fully static set of pages with syntax-highlighted code, commit history, branch lists, and rendered documentation, so viewers can explore projects as if browsing a lightweight curated site. Designed for simplicity and performance, gitmal can be run locally or via a Docker container, and works across repositories of any size, producing fully self-contained output ready to be deployed to static web hosts. It supports themes and custom styles, allowing creators to personalize the look and feel of the generated site. For developers who want to archive, document, or display their code in a non-interactive context, gitmal provides a straightforward and configurable solution.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    Grgit

    Grgit

    The Groovy way to use Git

    Grgit is a Groovy‑friendly wrapper around Eclipse JGit that simplifies Git operations within Groovy scripts or Gradle builds. It provides a cleaner, fluent API for common Git tasks (clone, commit, tag, branch), and ships as a Gradle plugin for easy project integration.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Guitar

    Guitar

    Git GUI Client

    Many Git client apps have some problems. It's too late to start up, falls well, is user registration tedious when downloading, is paid for commercial use, is not multi-platform, or is an animation or visual effect. It was said that the production was overkill and the wizard and the source code were not published. I tried to eliminate such inconvenience as much as possible. At first I started developing it for my own study, because I was interested in learning how to use Git and how it worked inside. Some of the best engineers of the time may think Git in GUI. That's a lot of it. When I want to execute a command that I rarely use, I sometimes force myself to do not rely on the GUI, open the terminal and hand enter the git command. If you find a feature that you find useful, you can incorporate it into this app. You can use it comfortably for daily use of Git operations, want to see the commit graphs cleanly, or just for such uses.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    Hercules

    Hercules

    Gaining advanced insights from Git repository history

    Fast, insightful and highly customizable Git history analysis. Hercules is an amazingly fast and highly customizable Git repository analysis engine written in Go. Batteries are included. Powered by go-git. There are two command-line tools: hercules and labours. The first is a program written in Go that takes a Git repository and executes a Directed Acyclic Graph (DAG) of analysis tasks over the full commit history. The second is a Python script that shows some predefined plots over the collected data. These two tools are normally used together through a pipe. It is possible to write custom analyses using the plugin system. It is also possible to merge several analysis results together - relevant for organizations. The analyzed commit history includes branches, merges, etc. Hercules has been successfully used for several internal projects at source{d}.
    Downloads: 2 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB