Git Software for Linux

View 17 business solutions
Git Linux Clear Filters
  • $300 Free Credits for Your Google Cloud Projects Icon
    $300 Free Credits for Your Google Cloud Projects

    Start building on Google Cloud with $300 in free credits. No commitment, no credit card required until you're ready to scale.

    Launch your next project with $300 in free Google Cloud credits—no strings attached. Test, build, and deploy without risk. Use your credits across the entire Google Cloud platform to find what works best for your needs. After your credits are used, continue with always-free tier services. Only pay when you're ready to scale. Sign up in minutes and start exploring.
    Start Free Trial
  • Our Free Plans just got better! | Auth0 Icon
    Our Free Plans just got better! | Auth0

    With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

    You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
    Try free now
  • 1
    isomorphic-git

    isomorphic-git

    A pure JavaScript implementation of git for node and browsers!

    A pure JavaScript implementation of git for node and browsers! Clone repos, create commits, push branches and more in client-side JS. It uses the same on-disk format as git so it works with existing repos. isomorphic-git is a pure JavaScript implementation of git that works in node and browser environments (including WebWorkers and ServiceWorkers). This means it can be used to read and write to git repositories, as well as fetch from and push to git remotes like GitHub. isomorphic-git aims for 100% interoperability with the canonical git implementation. This means it does all its operations by modifying files in a ".git" directory just like the git you are used to. The included isogit CLI can operate on git repositories on your desktop or server. isomorphic-git aims to be a complete solution with no assembly required. The API has been designed with modern tools like Rollup and Webpack in mind.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 2
    Git Credential Manager for Windows

    Git Credential Manager for Windows

    Secure Git credential storage for Windows for Visual Studio

    Git Credential Manager for Windows is no longer being maintained. The cross-platform Git Credential Manager Core (GCM Core) is the official replacement. GCM Core is included as an optional component of Git for Windows 2.28 and will be made the default credential helper as of Git for Windows 2.29. GitHub will disable password-based authentication on APIs Git Credential Manager for Windows uses to create tokens. As a result, GCM for Windows will no longer be able to create new access tokens for GitHub. Git Credential Manager Core (GCM Core) supports OAuth-based authentication with GitHub and is the replacement for GCM for Windows. The Git Credential Manager for Windows (GCM) provides secure Git credential storage for Windows. It's the successor to the Windows Credential Store for Git (git-credential-winstore), which is no longer maintained. Compared to Git's built-in credential storage for Windows (wincred).
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    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: 3 This Week
    Last Update:
    See Project
  • 4
    asdf

    asdf

    Extendable version manager with support for Ruby, Node.js, Elixir, etc

    Manage multiple runtime versions with a single CLI tool. Manage each of your project runtimes with a single CLI tool and command interface. asdf is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language's plugin! Large ecosystem of existing runtimes & tools. Simple API to add support for new tools as you need! Support for existing config files .nvmrc, .node-versions, .ruby-version for smooth migration! .tool-versions to manage all your tools, runtimes, and their versions in a single, sharable place. Supports Bash, ZSH, Fish & Elvish with completions available. Provides a GitHub Action to install and utilize your .tool-versions in your CI/CD workflows.
    Downloads: 3 This Week
    Last Update:
    See Project
  • Build Agents and Models on One Platform Icon
    Build Agents and Models on One Platform

    Everything you need to build production-ready agents and models. Access 200+ Google and third-party AI models and tools.

    Gemini Enterprise Agent Platform is Google Cloud's comprehensive platform for developers to build, scale, govern, and optimize agents and models. Choose from Google's most advanced models and third-party models like Anthropic's Claude Model Family.
    Try It Free
  • 5
    Git Graph extension for VSC

    Git Graph extension for VSC

    View a Git Graph of your repository in Visual Studio Code

    View a Git Graph of your repository, and easily perform Git actions from the graph. Configurable to look the way you want! View annotated tag details (name, email, date and message) Copy commit hashes, and branch, stash & tag names to the clipboard. View commit details and file changes by clicking on a commit. View the Visual Studio Code Diff of any file change by clicking on it. Open the current version of any file that was affected in the commit. Copy the path of any file that was affected in the commit to the clipboard. Click on any HTTP/HTTPS url in the commit body to open it in your default web browser. Compare any two commits by clicking on a commit, and then CTRL/CMD clicking on another commit. View the Visual Studio Code Diff of any file change between the selected commits by clicking on it. Open the current version of any file that was affected between the selected commits.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 6
    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: 2 This Week
    Last Update:
    See Project
  • 7

    Husky

    Git hooks made easy

    Husky is a tool that makes handling Git hooks a lot easier, and lets you run the scripts you want at those stages. It works by including an object right within your package.json file. This then configures Husky so that it runs the scripts you specify. After that, it's Husky's responsibility to manage at which point in the Git lifecycle your scripts will run. Husky helps to improve your commits, lets you run tests, lint code and more when you commit or push. It is very lightweight, with zero dependencies and is capable of supporting all Git hooks.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 8
    Just One Single History

    Just One Single History

    Just One Single History

    Combine the advantages of a monorepo with those of multirepo setups by leveraging a blazingly-fast, incremental, and reversible implementation of git history filtering. The partial repo will act as a normal git repository but only contain the files found in the subdirectory and only commits affecting those files. The partial repo supports both fetch as well as push operation. This helps not just to improve performance on the client due to having fewer files in the tree, it also enables collaboration on parts of the monorepo with other parties utilizing git's normal distributed development features. For example, this makes it easy to mirror just selected parts of your repo to public github repositories or specific customers. Simplify code sharing and dependency management. Beyond just subdirectories, Josh supports filtering, re-mapping and composition of arbitrary virtual repositories from the content found in the monorepo.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 9
    diff2html

    diff2html

    Pretty diff to html javascript library (diff2html)

    Each diff provides a comprehensive visualization of the code changes, helping developers identify problems and better understand the changes. Each diff features a line-by-line and side-by-side preview of your changes. All the code changes are syntax highlighted using highlight.js, providing more readability. Similar lines are paired, allowing for easier change tracking. We work hard to make sure you can have your diffs in a simple and flexible way. The AI community building the future. Build, train and deploy state of the art models powered by the reference open source in natural language processing. Wrapper and helper adding syntax highlight, synchronized scroll, and other nice features. You can use it without syntax highlight or by passing your own implementation with the languages you prefer. Diff2Html can be used in various ways as listed in the distributions section.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Enterprise-grade ITSM, for every business Icon
    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity.

    Freshservice is an intuitive, AI-powered platform that helps IT, operations, and business teams deliver exceptional service without the usual complexity. Automate repetitive tasks, resolve issues faster, and provide seamless support across the organization. From managing incidents and assets to driving smarter decisions, Freshservice makes it easy to stay efficient and scale with confidence.
    Try it Free
  • 10
    git-bug

    git-bug

    Distributed, offline-first bug tracker embedded in git, with bridges

    git-bug is fully embedded in git, you only need your git repository to have a bug tracker. git-bug is distributed. Use your normal git remote to collaborate, push and pull your bugs! git-bug works offline, in a plane or under the sea? Keep reading and writing bugs! It prevents vendor lock-in: your usual service is down or went bad? You already have a full backup. It is fast, listing bugs or opening them is a matter of milliseconds. git-bug doesn't pollute your project, no files are added in your project. git-bug integrates with your tooling, use the UI you like (CLI, terminal, web) or integrate with your existing tools through the CLI or the GraphQL API. git-bug bridges to other bug trackers. Use bridges to import and export to other trackers. An interactive terminal UI is available using the command git bug termui to browse and edit bugs.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    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: 2 This Week
    Last Update:
    See Project
  • 12
    gitwatch

    gitwatch

    Watch a file or folder and automatically commit changes to a git repo

    A bash script to watch a file or folder and commit changes to a git repo. Some programs auto-write their config files, without waiting for you to click an 'Apply' button; or even if there is such a button, most programs offer you no way of going back to an earlier version of your settings. If you commit your config file(s) to a git repo, you can track changes and go back to older versions. This script makes it convenient, to have all changes recorded automatically. If you use an editor that does not have built-in git support (or maybe if you don't like the git support it has), you can use gitwatch to automatically commit your files when you save them, or combine it with the editor's auto-save feature to fully automatically and regularly track your changes. If you have any other uses, or can think of ones, please let us know, and we can add them to this list! gitwatch can be installed from source by simply cloning the repository and putting the shell script into your $PATH.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 13
    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: 2 This Week
    Last Update:
    See Project
  • 14
    opam

    opam

    opam is a source-based package manager

    Opam is a source-based package manager for OCaml. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow. Opam was created and is maintained by OCamlPro. To get started, checkout the Install and Usage guides. Run ./configure. If you don't have the dependencies installed, this will locally take care of all OCaml dependencies for you (downloading them, unless you used the inclusive archive we provide for each release). This is all you need for installing and using opam, but if you want to use the opam-lib (to work on opam-related tools), you need to link it to installed libraries. It's easier to already have a working opam installation in this case, so you can do it as a second step. If you install on your system (without changing the prefix), you will need to install as root (sudo). As sudo do not propagate environment variables, there wil be some errors.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 15
    gitslave

    gitslave

    Coordinated multi-repository super-projects for Git

    Gitslave is a script for coordinated version control of large projects combining code from multiple independent repositories using Git. More flexible than traditional git submodules, gitslave provides a simple wrapper around command-line git that manages a directory tree with multiple subsidiary ("slave") git repositories in sub-directories of a "master" git repository. Any git command run from the "gits" wrapper will be performed in all the git repositories; for example gits checkout -b newbranch will create the new branch in all repositories. Gitslave has been used for mid-sized product development with many slave repositories (representing different programs and plugins), branches, tags, and developers; and for single-person repositories tracking groups of .emacs and .vim repositories (in the latter case, it is basically used to keep the slave repositories up to date via a single command).
    Leader badge
    Downloads: 16 This Week
    Last Update:
    See Project
  • 16
    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: 1 This Week
    Last Update:
    See Project
  • 17
    Coca

    Coca

    Coca is a toolbox which is design for legacy system refactoring

    Coca is a toolbox that is design for legacy system refactoring and analysis, including call graph, concept analysis, api tree, and design patterns suggestions. Requirements: graphviz for dot file to image (such as svg, png). The easiest way to get coca is to use one of the pre-built release binaries which are available for OSX, Linux, and Windows on the release page.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    Commitizen for contributors

    Commitizen for contributors

    The commitizen command line utility

    When you commit with Commitizen, you'll be prompted to fill out any required commit fields at commit time. No more waiting until later for a git commit hook to run and reject your commit (though that can still be helpful). No more digging through CONTRIBUTING.md to find what the preferred format is. Get instant feedback on your commit message formatting and be prompted for required fields. Commitizen is currently tested against Node.js 12, 14, & 16, although it may work in older versions of Node.js. You should also have npm 6 or greater. When you're working in a Commitizen-friendly repository, you'll be prompted to fill in any required fields, and your commit messages will be formatted according to the standards defined by project maintainers. Installing and running Commitizen locally allows you to make sure that developers are running the exact same version of Commitizen on every machine.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    Dulwich

    Dulwich

    Pure-Python Git implementation

    Dulwich is a Python implementation of the Git file formats and protocols, which does not depend on Git itself. All functionality is available in pure Python. Optional C extensions can be built for improved performance. Dulwich takes its name from the area in London where the friendly Mr. and Mrs. Git once attended a cocktail party. Supported Python versions are Python 3.5 and later. Versions of Dulwich prior to 0.20 also supported Python 2.7. Supported platforms include Linux, Mac OS X and Windows. Dulwich comes with both a lower-level API and higher-level plumbing ("porcelain"). By default, Dulwich' setup.py will attempt to build and install the optional C extensions. The reason for this is that they significantly improve the performance since some low-level operations that are executed often are much slower in CPython.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    GIT quick statistics

    GIT quick statistics

    An efficient way to access various statistics in git repository

    git-quick-stats is a simple and efficient way to access various statistics in a git repository. Any git repository may contain tons of information about commits, contributors, and files. Extracting this information is not always trivial, mostly because there are a gadzillion options to a gadzillion git commands. For those who prefer to utilize command-line options, git-quick-stats also has a non-interactive mode supporting both short and long options. You can change to the legacy color scheme by toggling the variable _MENU_THEME between default and legacy. You can set variable _GIT_LIMIT for limited output. It will affect the "changelogs" and "branch tree" options. You can also exclude files from the stats. Note that it works with any alphanumeric, glob, or regex that git respects.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    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: 1 This Week
    Last Update:
    See Project
  • 22
    Gitblit

    Gitblit

    pure java git solution

    Gitblit is an open-source, pure Java stack for managing, viewing, and serving Git repositories. It's designed primarily as a tool for small workgroups who want to host centralized repositories. Gitblit GO is an integrated, single-stack solution based on Jetty. You do not need Apache httpd, Perl, Git, or Gitweb. Should you want to use some or all of those, you still can; Gitblit plays nice with the other kids on the block. This is what you should download if you want to go from zero to Git in less than 5 mins. Gitblit WAR is what you should download if you already have a servlet container available that you wish to use. Jetty 6/7/8 and Tomcat 6/7 are known to work. Generally, any Servlet 2.5 or Servlet 3.0 container should work. Gitblit can be used as a dumb repository viewer with no administrative controls or user accounts. Gitblit can be used as a complete Git stack for cloning, pushing, and repository access control.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    Gitgraph.js

    Gitgraph.js

    A JavaScript library to draw pretty git graphs in the browser

    A JavaScript library to draw pretty git graphs. GitGraph.js codebase is a monorepo. Packages are released under @gitgraph/ scope. As a contributor, you might be interested in checking out gitgraph-core. It contains the core logic for rendering libraries to use. To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place to get started. To draw git graphs examples that are easy to maintain
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    Gitolite

    Gitolite

    Hosting git repositories

    Gitolite is a lightweight Git server and access-control system that lets many human users share a single Unix account while enforcing fine-grained permissions. Configuration is “as code”: you manage users’ SSH keys and per-repo rules in a special admin repository, then push to apply changes instantly. Permissions are precise—read, write, or force-push can be allowed or denied per repository, branch, tag, or arbitrary ref patterns—so sensitive branches can be protected. Delegation features let large organizations hand off subsets of administration without giving away global control, and “wild” repositories make self-service project creation possible within policy. Hooks, logging, and auditing are baked in, giving visibility into who pushed what and when. Because it rides on plain SSH and standard Git, it’s fast, portable, and easy to host on anything from a low-power VPS to an enterprise server.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    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: 1 This Week
    Last Update:
    See Project
Auth0 Logo