Open Source Version Control Software - Page 4

Version Control Software

View 79 business solutions
  • Full-stack observability with actually useful AI | Grafana Cloud Icon
    Full-stack observability with actually useful AI | Grafana Cloud

    Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

    Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
    Create free account
  • $300 in Free Credit Towards Top Cloud Services Icon
    $300 in Free Credit Towards Top Cloud Services

    Build VMs, containers, AI, databases, storage—all in one place.

    Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
    Get Started
  • 1
    git-secret

    git-secret

    A bash-tool to store your private data inside a git repository

    There’s a well-known issue with deploying and configuring software on servers: generally, you have to store your private data (such as database passwords, application secret-keys, OAuth secret keys, etc) outside of the git repository. If you do choose to store these secrets unencrypted in your git repo, even if the repository is private, it is a security risk to copy the secrets everywhere you check out your repo. These files are not version controlled. Filenames, locations, and passwords change from time to time, or new information appears, and other information is removed. When secrets are stored separately from your repo, you can not tell for sure which version of the configuration file was used with each commit or deploy. When building the automated deployment system there will be one extra step: download and place these secret-configuration files where they need to be. This also means you have to maintain extra secure servers where all your secrets are stored.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 2
    gitstatus

    gitstatus

    Git status for Bash and Zsh prompt

    gitstatus is a 10x faster alternative to git status and git describe. Its primary use case is to enable fast git prompt in interactive shells. Heavy lifting is done by gitstatusd -- a custom binary written in C++. It comes with Zsh and Bash bindings for integration with shell. The easiest way to take advantage of gitstatus from Zsh is to use a theme that's already integrated with it. For example, Powerlevel10k is a flexible and fast theme with first-class gitstatus integration. If you install Powerlevel10k, you don't need to install gitstatus. This will give you a basic yet functional prompt with git status in it. It's over 10x faster than any alternative that can give you comparable prompt. In order to customize it, set PROMPT and/or RPROMPT at the end of ~/.zshrc after sourcing gitstatus.prompt.zsh. Insert ${GITSTATUS_PROMPT} where you want git status to go.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 3
    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: 3 This Week
    Last Update:
    See Project
  • 4
    meta

    meta

    Tool for turning many repos into a meta repo

    Tool for turning many repos into a meta repo. why choose many repos or a monolithic repo, when you can have both with a meta repo? meta is powered by plugins that wrap common commands, letting you execute them against some or all of the repos in your solution at once. meta is built on loop, and as such inherits loops ability to easily target a particular set of directories for executing a common command (eg meta git status --include-only dir1,dir2. See loop for more available options). meta is a tool for managing multi-project systems and libraries. It answers the conundrum of choosing between a mono repo or many repos by saying "both", with a meta repo! Give every engineer on your team the same project setup, regardless of where it's cloned. Execute arbitrary commands against many repos to manage your projects. Easily wrap commands for working with any platform, not just Node!
    Downloads: 3 This Week
    Last Update:
    See Project
  • Go From AI Idea to AI App Fast Icon
    Go From AI Idea to AI App Fast

    One platform to build, fine-tune, and deploy ML models. No MLOps team required.

    Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
    Try Free
  • 5
    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
  • 6
    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
  • 7
    Ada Class Library

    Ada Class Library

    Ada Class Library - an object orientated library for Ada.

    Text search and replace. Scripting (small tool programs). CGI scripts. Execution of external programs (incl. I/O redirection). Garbage Collection. Extendended Booch Components. CD-Recorder
    Leader badge
    Downloads: 73 This Week
    Last Update:
    See Project
  • 8
    meld-installer

    meld-installer

    Meld Installer for Windows

    Bundles Portable Python (with PyGTK) and Meld together in an easy to use installer. This allows you to not have to worry about setting up Python or PyGTK and you can keep Meld's Python separate from other Python installations on your machine. ** NOTE ** Meld 3.11 and later now have official installers, hence this project is no longer supported. You can download the new installer here: https://download.gnome.org/binaries/win32/meld/. You should uninstall the old 1.8 version before upgrading.
    Downloads: 20 This Week
    Last Update:
    See Project
  • 9
    Branchless workflow for Git

    Branchless workflow for Git

    High-velocity, monorepo-scale workflow for Git

    git-branchless is a suite of tools that enhances Git in several ways. It makes Git easier to use, both for novices and for power users. Patch-stack workflows: strong support for "patch-stack" workflows as used by the Linux and Git projects, as well as at many large tech companies. (This is how Git was "meant" to be used.) Prototyping and experimenting workflows: strong support for prototyping and experimental work via "divergent" development. git sync: to rebase all local commit stacks and branches without having to check them out first. git move: The ability to move subtrees rather than "sticks" while cleaning up old branches, not touching the working copy, etc. Anonymous branching: reduces the overhead of branching for experimental work. In-memory operations: to modify the commit graph without having to check out the commits in question. git next/prev: to quickly jump between commits and branches in a commit stack.
    Downloads: 2 This Week
    Last Update:
    See Project
  • Streamline Azure Security with Palo Alto Networks VM-Series Icon
    Streamline Azure Security with Palo Alto Networks VM-Series

    Centrally manage physical and virtualized firewalls with Panorama

    Improve your security posture and reduce incident response time. Use the VM-Series to natively analyze Azure traffic and dynamically drive policy updates based on workload changes.
    Learn more
  • 10
    Delta

    Delta

    A viewer for git and diff output

    Code evolves, and we all spend time studying diffs. Delta aims to make this both efficient and enjoyable: it allows you to make extensive changes to the layout and styling of diffs, as well as allowing you to stay arbitrarily close to the default git/diff output. Language syntax highlighting with color themes. Within-line highlights based on a Levenshtein edit inference algorithm. Git style strings (foreground color, background color, font attributes) are supported for >20 stylable elements. Delta provides Stylable box/line decorations to draw attention to commit, file and hunk header sections. Support for Git's color-moved feature. Code can be copied directly from the diff. n and N keybindings to move between files in large diffs, and between diffs in log -p views. Commit hashes can be formatted as terminal hyperlinks to the GitHub/GitLab/Bitbucket page. Delta acts as a pager for git's output, and delta in turn passes its own output on to a "real" pager.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 11
    Docker Gitlab

    Docker Gitlab

    Dockerized GitLab

    Dockerfile to build a GitLab image for the Docker opensource container platform. GitLab CE is set up in the Docker image using the install from source method as documented in the the official GitLab documentation. For other methods to install GitLab please refer to the Official GitLab Installation Guide which includes a GitLab image for Docker. Docker is a relatively new project and is active being developed and tested by a thriving community of developers and testers and every release of docker features many enhancements and bugfixes. Given the nature of the development and release cycle it is very important that you have the latest version of docker installed because any issue that you encounter might have already been fixed with a newer docker release. Install the most recent version of the Docker Engine for your platform using the official Docker releases.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 12
    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
  • 13
    Git Updater

    Git Updater

    This WP plugin will update GitHub, Bitbucket, GitLab, etc.

    This plugin was originally designed to simply update any GitHub-hosted WordPress plugin or theme. Your plugin or theme must contain a header in the style.css header or in the plugin's header denoting the location on GitHub. API plugins for Bitbucket, GitLab, Gitea, and Gist are available. API plugins are available for a one-click install from the Add-Ons tab. This update reincorporates all functionality into the Git Updater plugin and splits out the API components into individual API plugins. There is a 14-day free trial and a 30-day no questions asked money-back guarantee. Programming is a great creative outlet. As the Git Updater family of products has grown more developers are using it in their workflow and support requests are increasing. I made a decision to rebrand and monetize it.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    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: 2 This Week
    Last Update:
    See Project
  • 15
    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
  • 16
    Gource

    Gource

    Software version control visualization

    Software projects are displayed by Gource as an animated tree with the root directory of the project at its centre. Directories appear as branches with files as leaves. Developers can be seen working on the tree at the times they contributed to the project. Gource includes built-in log generation support for Git, Mercurial, Bazaar and SVN. Gource can also parse logs produced by several third party tools for CVS repositories. Gource is a visualization tool for source control repositories. The repository is displayed as a tree where the root of the repository is the centre, directories are branches and files are leaves. Contributors to the source code appear and disappear as they contribute to specific files and directories. Gource's display is rendered using OpenGL and requires a 3D accelerated video card to run.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    Gradle Git

    Gradle Git

    Git plugin for Gradle

    Gradle‑Git bundles several plugins, most notably org.ajoberstar.grgit—for Gradle projects. It provides a Groovy/JGit wrapper (Grgit) to manage Git operations, plus support modules for GitHub Pages publishing and version-based release workflows.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    Gradle Git Version

    Gradle Git Version

    A Gradle plugin that uses `git describe` to produce a version string

    This Gradle plugin derives your project’s version directly from the state of the Git repository, turning tags and commits into consistent semantic versions. It reads the most recent tag, the number of commits since that tag, and whether the working tree is dirty, then composes a deterministic version string. Teams can enforce patterns (for example, treating non-tagged builds as snapshots) and keep CI builds reproducible without hardcoding versions in build.gradle. The plugin integrates with Gradle’s project.version, so the computed version flows automatically into publishing, packaging, and artifact naming. It works well in branching workflows by incorporating branch or distance information, making debug artifacts easy to trace back to source. By centralizing version logic around Git history, it eliminates manual bumps and reduces mistakes when cutting releases across multiple modules.
    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
    PyGitHub

    PyGitHub

    Typed interactions with the GitHub API v3

    PyGitHub is a Python library to access the GitHub REST API. This library enables you to manage GitHub resources such as repositories, user profiles, and organizations in your Python applications. PyGithub is a Python library to use the Github API v3. With it, you can manage your Github resources (repositories, user profiles, organizations, etc.) from Python scripts. Should you have any question, any remark, or if you find a bug, or if there is something you can do with the API but not with PyGithub, please open an issue.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    git-open

    git-open

    Type `git open` to open the GitHub page or website for a repository

    Type git open to open the repo website (GitHub, GitLab, Bitbucket) in your browser. git open works with these hosted repo providers, git open --issue currently only works with GitHub, Visual Studio Team Services and Team Foundation Server. The preferred way of installation is to simply add the git-open script somewhere into your path (e.g. add the directory to your PATH environment or copy git-open into an existing included path like /usr/local/bin). Antigen will handle cloning the plugin for you automatically the next time you start zsh, and periodically checking for updates to the git repository. You can also add the plugin to a running zsh with antigen bundle paulirish/git-open for testing before adding it to your .zshrc. Add zgen load paulirish/git-open to your .zshrc file in the same function you're doing your other zgen load calls in. ZGen will take care of cloning the repository the next time you run zgen save, and will also periodically check for updates to the git repository.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 22
    git-reflow

    git-reflow

    Reflow automatically creates pull requests

    Reflow automatically creates pull requests, ensures the code review is approved, and squash merges finished branches to master with a great commit message template. Enforce code reviews across your team. Know that your entire team delivers code the same way. Reduce the knowledge needed to deliver great code. Have a commit history that's clean and actually usable. Revert features with ease (if needed). Work with diverse teams with less worry about different processes. Stop searching for other git workflows. Reflow covers 90% of your needs without junk you'll never use. Git-reflow's default process isn't meant to fit every team, which is why we've introduced Custom Workflows. With a custom workflow, you can add hooks to be run before, or after any command. Use one of our pre-configured workflows as a basis for your own.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    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: 2 This Week
    Last Update:
    See Project
  • 24
    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: 2 This Week
    Last Update:
    See Project
  • 25
    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
MongoDB Logo MongoDB