Git Software for Windows

View 40 business solutions
  • Forever Free Full-Stack Observability | Grafana Cloud Icon
    Forever Free Full-Stack Observability | 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
  • 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
  • 1
    QtPass

    QtPass

    QtPass is a multi-platform GUI for pass, the standard unix password

    QtPass is part of the pass ecosystem. This means you are not stuck with QtPass, you can use the same password store with many clients. Password management should be simple and follow Unix philosophy. With pass, each password lives inside of a gpg encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command line file management utilities. Contrary to many Free, Libre and OpenSource password managers, pass and by extension QtPass are not bound to one user or device. Since we are based on GnuPG we have multi-key, multi recipient encryption out of the box. The use of external encryption devices like OpenPGP or x509/CMS based smartcards or USB tokens and per-folder ACL makes it easy to grant or take away privileges from users.
    Downloads: 6 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: 6 This Week
    Last Update:
    See Project
  • 3
    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: 6 This Week
    Last Update:
    See Project
  • 4
    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: 5 This Week
    Last Update:
    See Project
  • Build Securely on Azure with Proven Frameworks Icon
    Build Securely on Azure with Proven Frameworks

    Lay a foundation for success with Tested Reference Architectures developed by Fortinet’s experts. Learn more in this white paper.

    Moving to the cloud brings new challenges. How can you manage a larger attack surface while ensuring great network performance? Turn to Fortinet’s Tested Reference Architectures, blueprints for designing and securing cloud environments built by cybersecurity experts. Learn more and explore use cases in this white paper.
    Download Now
  • 5
    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: 4 This Week
    Last Update:
    See Project
  • 6
    posh-git

    posh-git

    A PowerShell environment for Git

    posh-git is a PowerShell module which provides Git/PowerShell integration. The prompt within Git repositories can show the current branch and the state of files (additions, modifications, deletions) within. Provides tab completion for common commands when using git. Prompt formatting, among other things, can be customized. Displaying file status in the git prompt for a very large repo can be prohibitively slow. Rather than turn off file status entirely, you can disable it on a repo-by-repo basis by adding individual repository paths. PowerShell generates its prompt by executing a prompt function, if one exists. posh-git defines such a function in profile.example.ps1 that outputs the current working directory followed by an abbreviated git status.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 7
    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: 3 This Week
    Last Update:
    See Project
  • 8
    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: 3 This Week
    Last Update:
    See Project
  • 9
    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: 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
  • 10
    WSLGit

    WSLGit

    Use Git installed in Bash on Windows/Windows Subsystem for Linux (WSL)

    This project provides a small executable that forwards all arguments to git running inside Bash on Windows/Windows Subsystem for Linux (WSL). Use Git installed in Bash on Windows/Windows Subsystem for Linux (WSL) from Windows and Visual Studio Code (VSCode) The primary reason for this tool is to make the Git plugin in Visual Studio Code (VSCode) work with the git command installed in WSL. For these two to interoperate, this tool translates paths between the Windows (C:\Foo\Bar) and Linux (/mnt/c/Foo/Bar) representations. The install.bat script creates a folder structure similar to the one used by Git For Windows, and creates some useful symbolic links in the wslgit\cmd and wslgit\bin folders. VSCode will find the git executable automatically if the two optional installation steps were taken.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 11
    ohmyposh.dev

    ohmyposh.dev

    A prompt theme engine for any shell

    Oh My Posh enables you to use the full-color set of your terminal by using colors to define and render the prompt. Easily adjust existing themes or create your own. From standard segments all the way to custom implementations. No matter which shell you're using, or even how many, you can carry the configuration from one shell and/or machine to another for the same prompt everywhere you work. What started as the offspring of oh-my-posh2 for PowerShell resulted in a cross platform, highly customizable and extensible prompt theme engine. After 4 years of working on oh-my-posh, a modern and more efficient tool was needed to suit my personal needs. When you look at prompts like Agnoster or Paradox, you notice they usually consist of a few building blocks which contain one or more segments that display some sort of information. The configuration of Oh My Posh works exactly like that. Blocks are a combination of one or more segments.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 12
    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: 2 This Week
    Last Update:
    See Project
  • 13
    Git Katas

    Git Katas

    A set of exercises for deliberate Git Practice

    This repository is a collection of Git exercises. The concept is stolen without shame from Schauderhaft.de. Unfortunately, they have not maintained the system - and we need more good Git exercises. The exercises are designed for use when we are teaching Git courses. You should be able to use them as self-contained exercises that will allow you to keep your Git skills sharp. Exercises starting with basic are entry-level - other exercises vary greatly in difficulty. If you are coming to this repository for some basic Git knowledge, we recommend going through the exercises in the following order. This is the order that Jan Krag at Praqma teaches Git and might change over time. There are more exercises than this, but these should take you through everything you need to be able to use Git effectively in your day to day life.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 14
    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
  • 15
    Grgit

    Grgit

    The Groovy way to use Git

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

    Guitar

    Git GUI Client

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

    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
  • 18
    Lefthook

    Lefthook

    Fast and powerful Git hooks manager for any type of projects

    Meet Lefthook, the fastest polyglot Git hooks manager out there, and make sure not a single line of unruly code makes it into production. See how easy it is to install Lefthook (recently adopted by Discourse, Logux, and Openstax) for most common frontend and backend environments and ensure all your team’s developers can rely on a single flexible tool. Also, it has emojis. Fast and powerful Git hooks manager for Node.js, Ruby or any other type of projects. Fast. It is written in Go. Can run commands in parallel. Powerful. It allows to control execution and files you pass to your commands. Simple. It is single dependency-free binary which can work in any environment. Lefthook is easy to use. Once you configure and setup you can forget that it even exists and rely on the magic underneath.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    actions/github-script

    actions/github-script

    Write workflows scripting the GitHub API in JavaScript

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

    hub

    Extension to command-line git for GitHub

    hub is an extension to command-line git that helps you do everyday GitHub tasks without ever leaving the terminal. Hub is a tool that wraps git in order to extend it with extra functionality that makes it better when working with GitHub. Available commands are split into two groups: those that are already present in git but that are extended through hub, and custom ones that hub provides. Most hub commands are supposed to be run in a context of an existing local git repository. Hub will automatically detect the GitHub repository that the current working directory belongs to by scanning its git remotes. In case there are multiple git remotes that are all pointing to GitHub, hub assumes that the main one is named "upstream", "github", or "origin", in that order of preference.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 23
    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: 2 This Week
    Last Update:
    See Project
  • 24
    Git-FTP

    Git-FTP

    Uses Git to upload only changed files to FTP servers

    If you use Git and you need to upload your files to an FTP server, Git-ftp can save you some time and bandwidth by uploading only those files that changed since the last upload. It keeps track of the uploaded files by storing the commit id in a log file on the server. It uses Git to determine which local files have changed. You can easily deploy another branch or go back in the Git history to upload an older version. git-ftp was not designed as centralized deployment tool. While a commit is being pushed and uploaded to the FTP server, all files belonging to that revision must remain untouched until git-ftp has successfully finished the upload. Otherwise, the contents of the uploaded file will not match the contents of the file referenced in the commit.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    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: 1 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB