Open Source Windows Version Control Software - Page 4

Version Control Software for Windows

View 41 business solutions
  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • Demo Series - Small Business Backup By Veeam Icon
    Demo Series - Small Business Backup By Veeam

    Learn how to protect your Microsoft 365 data, with simple, actionable tips today.

    Watch this on-demand demo series and learn how to protect your Microsoft 365 data with clear, simple, actionable steps that are easy to implement for businesses of all sizes.
    Watch Demo Series
  • 1
    A Windows Installer Database To XML Bi-Directional Converter. The command line tool msi2xml converts Windows Installer Databases (.msi) to text based XML files. The complementary tool xml2msi reconstructs the .msi from the XML file.
    Leader badge
    Downloads: 56 This Week
    Last Update:
    See Project
  • 2
    deltasql

    deltasql

    Version Control for your Database

    deltasql is an advanced Database Schema Version Control. It allows a team to commonly develop a data model on the fly, while the source code is growing. Sync algo supports branches and tags. Works for postgreSQL, Oracle, mySQL, MariaDB, Microsoft SQL Server or any SQL-like db.
    Leader badge
    Downloads: 23 This Week
    Last Update:
    See Project
  • 3
    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: 3 This Week
    Last Update:
    See Project
  • 4
    FVM

    FVM

    Flutter Version Management: A simple CLI to manage Flutter SDK version

    FVM streamlines Flutter version management. It allows per project SDK versions, ensuring consistent app builds and easier testing of new releases, thereby boosting the efficiency of your Flutter project tasks.
    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
    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
  • 6
    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: 3 This Week
    Last Update:
    See Project
  • 7
    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: 3 This Week
    Last Update:
    See Project
  • 8
    Terraform

    Terraform

    Safely and predictably create, change, and improve infrastructure

    Terraform is an open source tool that allows you to use infrastructure as code to provision and manage any cloud, infrastructure or service. It codifies APIs into declarative configuration files, which can then be shared among team members, reviewed, applied, edited and versioned.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 9
    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
  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    More flexibility. More control.

    Generate interest, access liquidity without selling, and execute trades seamlessly. All in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • 10
    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
  • 11
    maven git commit id plugin

    maven git commit id plugin

    Maven plugin which includes build-time git repository information

    git-commit-id-maven-plugin is a plugin quite similar to Build Number Maven Plugin for example but as the Build Number plugin at the time when I started this plugin only supported CVS and SVN, something had to be done. I had to quickly develop a Git version of such a plugin. For those who don't know the plugin, it basically helps you with the following tasks and answers related questions. The plugin is available from Maven Central (see here), so you don't have to configure any additional repositories to use this plugin. A detailed description of using the plugin is available in the Using the plugin document. All you need to do in the basic setup is to include that plugin definition in your pom.xml. For more advanced users we also prepared a guide to provide a brief overview of the more advanced configurations. Even though this plugin tries to be compatible with every Maven version there are some known limitations with specific versions.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    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: 3 This Week
    Last Update:
    See Project
  • 13
    TkRev

    TkRev

    Platform-agnostic GUI supporting CVS, Subversion, Git, and RCS

    A Tcl/Tk based graphical interface to the CVS and Subversion configuration management systems. Support for Git and RCS too. Formerly called TkCVS.
    Leader badge
    Downloads: 44 This Week
    Last Update:
    See Project
  • 14
    The CvsGui project is providing several high-end interface clients (WinCvs, MacCvs, gCvs) written in C++ using popular frameworks (MFC, PowerPlant, GTK+) with a scripting support via Python or TCL.
    Downloads: 26 This Week
    Last Update:
    See Project
  • 15
    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: 2 This Week
    Last Update:
    See Project
  • 16
    Git Subtree Splitter

    Git Subtree Splitter

    Split a repository to read-only standalone repositories

    Split a repository to read-only standalone repositories. splitsh-lite replaces the subtree split Git built-in command to make splitting a monolithic repository to read-only standalone repositories easy and fast. Both strategies work well and both have drawbacks as well. splitsh helps use both strategies by providing tools that automatically synchronize a monolithic repository to standalone repositories in real-time. splitsh-lite is a sub-project that provides a faster implementation of the git subtree split command, which helps create standalone repositories for one or more sub-directories of a main repository. If you want to learn more about monorepo vs manyrepos, watch this 4-minute lightning talk I gave at dotScale (or read the slides)... or watch the longer version from DrupalCon. "The Monorepo - Storing your source code has never been so much fun" is also a great resource.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 17
    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
  • 18
    Magit

    Magit

    A Git porcelain inside Emacs

    Magit is a complete text-based user interface to Git. It fills the glaring gap between the Git command-line interface and various GUIs, letting you perform trivial as well as elaborate version control tasks with just a couple of mnemonic key presses. Magit looks like a prettified version of what you get after running a few Git commands but in Magit every bit of visible information is also actionable to an extent that goes far beyond what any Git GUI provides and it takes care of automatically refreshing this output when it becomes outdated. In the background Magit just runs Git commands and if you wish you can see what exactly is being run, making it possible for you to learn the git command-line by using Magit. Using Magit for a while will make you a more effective version control user. Magit supports and streamlines the use of Git features that most users and developers of other Git clients apparently thought could not be reasonably mapped to a non-command-line interface.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    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
  • 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
    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: 2 This Week
    Last Update:
    See Project
  • 22
    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: 2 This Week
    Last Update:
    See Project
  • 23
    git-recall

    git-recall

    An interactive way to peruse your git history from the terminal

    An interactive way to peruse your git history from the terminal. git-recall is a simple tool that allows you to easily go through your commits and check what you or other contributors in your team did. It doesn't aim to be a replacement for the git log command, but just to be a convenient way to recall what you've done from your terminal. You can install it by simply copying the git-recall script into any existing path (e.g. /usr/local/bin) or create your own directory and add it to the PATH variable. Once the commits are displayed, you can use either the arrow keys or j/k to switch between commits, press TAB or e to expand/reduce the commit's diff or q to quit.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 24
    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
  • 25
    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: 2 This Week
    Last Update:
    See Project