Git Software for Mac

View 29 business solutions
Git Mac Clear Filters
  • Stop Storing Third-Party Tokens in Your Database Icon
    Stop Storing Third-Party Tokens in Your Database

    Auth0 Token Vault handles secure token storage, exchange, and refresh for external providers so you don't have to build it yourself.

    Rolling your own OAuth token storage can be a security liability. Token Vault securely stores access and refresh tokens from federated providers and handles exchange and renewal automatically. Connected accounts, refresh exchange, and privileged worker flows included.
    Try Auth0 for Free
  • Host LLMs in Production With On-Demand GPUs Icon
    Host LLMs in Production With On-Demand GPUs

    NVIDIA L4 GPUs. 5-second cold starts. Scale to zero when idle.

    Deploy your model, get an endpoint, pay only for compute time. No GPU provisioning or infrastructure management required.
    Try Free
  • 1
    Soft Serve

    Soft Serve

    A tasty, self-hostable Git server for the command line

    A tasty, self-hostable Git server for the command line. Configure with git. Create repos on demand with git push. Browse repos, files and commits with an SSH-accessible TUI. TUI mouse support. Print files over SSH with or without syntax highlighting and line numbers. Easy access control. Allow/disallow anonymous access. Add collaborators with SSH public keys. Repos can be public or private. You can also download a binary from the releases page. Packages are available in Alpine, Debian, and RPM formats. Binaries are available for Linux, macOS, and Windows. Soft Serve SSH CLI has the ability to print files and list directories, perform git operations on remote repos, and reload the configuration when necessary. Both git and reload commands need admin access to the server to work. So make sure you have added your key as an admin user, or you’re using anon-access: admin-access in the configuration.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 2
    Watchtower

    Watchtower

    A process for automating Docker container base image updates

    With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially. Watchtower is an application that will monitor your running Docker containers and watch for changes to the images that those containers were originally started from. If watchtower detects that an image has changed, it will automatically restart the container using the new image. With watchtower you can update the running version of your containerized app simply by pushing a new image to the Docker Hub or your own image registry. Watchtower will pull down your new image, gracefully shut down your existing container and restart it with the same options that were used when it was deployed initially.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 3
    git-flow (AVH Edition)

    git-flow (AVH Edition)

    AVH Edition of the git extensions to provide high-level repository ops

    A collection of Git extensions to provide high-level repository operations for Vincent Driessen's branching model. This fork adds functionality not added to the original branch. For those who use the Bash or ZSH shell, you can use my fork of git-flow-completion which includes several additions for git-flow (AVH Edition), or you can use the original git-flow-completion project by bobthecow. Both offer tab-completion for git-flow subcommands and branch names with my fork including tab-completion for the commands not found in the original git-flow. For a wide variety of commands hooks or filters can be called before and after the command. The files should be placed in .git/hooks In the directory hooks you can find examples of all the hooks available. You can easily publish a feature you are working on. The reason can be to allow other programmers to work on it or to access it from another machine.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 4
    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: 4 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
  • 5
    jupyterlab-git

    jupyterlab-git

    A Git extension for JupyterLab

    A JupyterLab extension for version control using Git. To see the extension in action, open the example notebook included in the Binder demo. Open the Git extension from the Git tab on the left panel. This extension tries to handle credentials for HTTP(S) connections (if you don't have set up a credential manager). But not for other SSH connections. The extension can cache temporarily (by default for an hour) credentials. To use the caching, you will need to check the option Save my login temporarily in the dialog asking your credentials. Once installed, extension behavior can be modified via the following settings which can be set in JupyterLab's advanced settings editor. Set post git init actions. It is possible to provide a list of commands to be executed in a folder after it is initialized as Git repository. Set path patterns to exclude from this extension. You can use wildcard and interrogation mark for respectively everything or any single character in the pattern.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 6
    lint-staged

    lint-staged

    Run linters on git staged files

    Run linters against staged git files and don't let anything slip into your code base! Linting makes more sense when run before committing your code. By doing so you can ensure no errors go into the repository and enforce code style. But running a lint process on a whole project is slow, and linting results can be irrelevant. Ultimately you only want to lint files that will be committed. This project contains a script that will run arbitrary shell tasks with a list of staged files as an argument, filtered by a specified glob pattern. Linter commands work on a subset of all staged files, defined by a glob pattern. lint-staged uses micromatch for matching files. The concept of lint-staged is to run configured linter tasks (or other tasks) on files that are staged in git. lint-staged will always pass a list of all staged files to the task, and ignoring any files should be configured in the task itself.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    GitBucket

    GitBucket

    A Git platform powered by Scala

    A Git platform powered by Scala with easy installation, high extensibility & GitHub API compatibility. GitBucket is a Git web platform powered by Scala offering, easy installation, intuitive UI, high extensibility by plugins, API compatibility with GitHub. You can also deploy gitbucket.war to a servlet container which supports Servlet 3.0 (like Jetty, Tomcat, JBoss, etc). To upgrade GitBucket, replace gitbucket.war with the new version, after stopping GitBucket. All GitBucket data is stored in HOME/.gitbucket by default. So if you want to back up GitBucket's data, copy the directory to the backup location. If you want to try the development version of GitBucket, or want to contribute to the project, please see the Developer's Guide. It provides instructions on building from source and on setting up an IDE for debugging. It also contains documentation of the core concepts used within the project.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 8
    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
  • 9
    Gogs

    Gogs

    A painless self-hosted Git service

    Gogs is a simple, stable, self-hosted Git service that is easy to install and setup. All you have to do is run the binary on any platform that Go supports: Linux, macOS and Windows. You may also install from source, from packages, or ship with Docker or Vagrant. Gogs is very lightweight with minimal hardware requirements, running on Raspberry Pi and even on NAS devices. Gogs offers plenty of great features, including various access repositories, repository and organization webhooks, repository Git hooks, repository management and so much more. It also offers software, service and product support for various areas such as project management (Kanboard, Taiga), DevOps (Fabric8) and team communication (BearyChat).
    Downloads: 3 This Week
    Last Update:
    See Project
  • Powerful App Monitoring Without Surprise Bills Icon
    Powerful App Monitoring Without Surprise Bills

    AppSignal starts at $23/month with all features included. No overages, no hidden fees. 30-day free trial.

    Tired of monitoring tools that punish you for scaling? AppSignal offers transparent, predictable pricing with every feature unlocked on every plan. Track errors, monitor performance, detect anomalies, and manage logs across Ruby, Python, Node.js, and more. Trusted by developers since 2012 with free dev-to-dev support. No credit card required to start your 30-day trial.
    Try AppSignal Free
  • 10
    libgit2

    libgit2

    A cross-platform, portable, linkable Git implementation library

    libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language which supports C bindings. Libgit2 is developed with CMake, and this is be the easiest way to build a binary from the source. The CMake build system provides lots of options to configure the libgit2 build for your particular needs. It’s highly recommended that you build libgit2 as a static library for Xcode projects to simplify distribution significantly. libgit2 is used for powering Git GUI clients, such as gmaster and GitKraken and on Git hosting providers such as GitLab, Azure, GitHub, DevOps, among others. By clicking "merge pull request", we perform the merge. It is licensed under the GPLv2 license, so you can link it in its unmodified state with any type of software without releasing its source code.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    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
  • 12
    CPM.cmake

    CPM.cmake

    CMake's missing package manager

    CPM.cmake is a cross-platform CMake script that adds dependency management capabilities to CMake. It's built as a thin wrapper around CMake's FetchContent module that adds version control, caching, a simple API and more. Any downloadable project or resource can be added as a version-controlled dependency though CPM, it is not necessary to modify or package anything. Projects using modern CMake are automatically configured and their targets can be used immediately. For everything else, the targets can be created manually after the dependency has been downloaded. After CPM.cmake has been added to your project, the function CPMAddPackage can be used to fetch and configure a dependency. Afterwards, any targets defined in the dependency can be used directly. CPMAddPackage takes the following named parameters. The origin may be specified by a GIT_REPOSITORY, but other sources, such as direct URLs, are also supported.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    Dolt

    Dolt

    Dolt, it's Git for data

    Dolt is a SQL database that you can fork, clone, branch, merge, push and pull just like a git repository. Connect to Dolt just like any MySQL database to run queries or update the data using SQL commands. Use the command line interface to import CSV files, commit your changes, push them to a remote, or merge your teammate's changes. All the commands you know for Git work exactly the same for Dolt. Git versions files, Dolt versions tables. It's like Git and MySQL had a baby. We also built DoltHub, a place to share Dolt databases. We host public data for free. If you want to host your own version of DoltHub, we have DoltLab. If you want us to run a Dolt server for you, we have Hosted Dolt. MySQL comes with a MySQL server called mysqld and a MySQL client called mysql. You're only interested in the client. After following the instructions from MySQL's documentation, make sure you have a copy of the mysql client on your path.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    Fix All Conflicts

    Fix All Conflicts

    Easy-to-use CUI for fixing git conflicts

    I never really liked any of the mergetools out there so I made a program that is somewhat easier to use.fac operates much like git add -p . It has a prompt input at the bottom of the screen where the user inputs various commands. The above key-bindings and various behaviors can be altered by creating a .fac.yml file in your home directory. Please refer to the configuration README.md for more information.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    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: 2 This Week
    Last Update:
    See Project
  • 16
    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
  • 17
    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
  • 18
    Jujutsu

    Jujutsu

    A Git-compatible DVCS that is both simple and powerful

    Jujutsu (JJ VCS) is a modern, Git-compatible version control system designed to simplify and improve how developers manage code changes. It offers a clean and intuitive workflow that works well for both individual developers and large teams with complex histories. Jujutsu separates its user interface from its storage backend, allowing it to use Git repositories while rethinking the developer experience. The system treats the working copy as a real commit, removing the need for staging areas or stashes. Jujutsu records conflicts as first-class objects, making conflict resolution more flexible and reliable. It also maintains a complete operation log, allowing users to undo almost any action. Jujutsu aims to deliver powerful history rewriting and rebasing features without the complexity commonly associated with traditional tools.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    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: 2 This Week
    Last Update:
    See Project
  • 20
    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: 2 This Week
    Last Update:
    See Project
  • 21
    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: 2 This Week
    Last Update:
    See Project
  • 22
    git-tfs

    git-tfs

    A Git/TFS bridge, similar to git-svn

    git-tfs is a two-way bridge between TFS (Team Foundation Server) and git, similar to git-svn. It fetches TFS commits into a git repository, and lets you push your updates back to TFS. git-tfs is a two-way bridge between TFS and git, similar to git-svn. If the build fails to build some GitTfs.Vs201x projects, just unload in Visual Studio all the projects you are not interested in to be able to build and use your own version. You could also install, the Team Foundation Server Object Model for Tfs 2012 (chocolatey) and Tfs 2013 (chocolatey).
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    ungit

    ungit

    A tool to simplify the use of git, on any platform, anywhere

    Git is known for being a versatile distributed source control system that is a staple of many individuals, communities, and even for the City of Chattanooga to crowd source bicycle parking locations. However, it is not known for userfriendliness or easy learning curve. Ungit brings user friendliness to git without sacrificing the versatility of git. Git and github both supports PGP signing. Within Ungit these features can be enabled. Currently, Ungit DOES NOT support GPG authentication! While git allows robust programmatic authentication via credential-helper, I could not find an easy way to do something equivalent with GPG. Therefore, password-less gpg authentication or 3rd party gpg password must be configured when using Ungit to commit with gpg. Ungit will watch git directory recursively upon page view and automatically refresh contents on git operations or changes on files that are not configured to be ignored in .gitignore.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    Blamer.el

    Blamer.el

    A git blame plugin for emacs inspired by VS Code's GitLens plugin

    A git blame plugin for emacs inspired by VS Code’s GitLens plugin and Vim plugin.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    CaptainHook

    CaptainHook

    Very flexible git hook manager for php developers

    CaptainHook is an easy-to-use and very flexible git hook library for php developers. It enables you to configure your git hook actions in a simple json file. You can use CaptainHook to validate or prepare your commit messages, ensure code quality or run unit tests before you commit or push changes to git. You can automatically clear local caches or install the latest composer dependencies after pulling the latest changes. CaptainHook makes it easy to share hooks within your team and even can make sure that everybody in your team activates the hooks locally. You can run cli commands, use some built in validators, or write your own PHP classes that get executed by CaptainHook. For more information have a look at the documentation. Install the CaptainHook PHAR using Phive or download the PHAR from the github release page.
    Downloads: 1 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB