Git Software for Windows

View 40 business solutions
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • Catch Bugs Before Your Customers Do Icon
    Catch Bugs Before Your Customers Do

    Real-time error alerts, performance insights, and anomaly detection across your full stack. Free 30-day trial.

    Move from alert to fix before users notice. AppSignal monitors errors, performance bottlenecks, host health, and uptime—all from one dashboard. Instant notifications on deployments, anomaly triggers for memory spikes or error surges, and seamless log management. Works out of the box with Rails, Django, Express, Phoenix, Next.js, and dozens more. Starts at $23/month with no hidden fees.
    Try AppSignal Free
  • 1
    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: 1 This Week
    Last Update:
    See Project
  • 2
    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: 1 This Week
    Last Update:
    See Project
  • 3
    Gitmal

    Gitmal

    A static page generator for repos

    Gitmal is a static page generator that turns the contents of a Git repository into a clean, navigable HTML website, making it easier to share or showcase code outside of traditional Git hosting platforms. It reads repository metadata including files, commits, branches, and markdown, and produces a fully static set of pages with syntax-highlighted code, commit history, branch lists, and rendered documentation, so viewers can explore projects as if browsing a lightweight curated site. Designed for simplicity and performance, gitmal can be run locally or via a Docker container, and works across repositories of any size, producing fully self-contained output ready to be deployed to static web hosts. It supports themes and custom styles, allowing creators to personalize the look and feel of the generated site. For developers who want to archive, document, or display their code in a non-interactive context, gitmal provides a straightforward and configurable solution.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 4
    Gitql

    Gitql

    A git query language

    Gitql is a Git query language. You can access the releases page and just grab the binary. If you want to compile itself just run go build. Gitql binary uses the embed file version.txt to outputs the gitql version command. On every release, the file content is replaced by the correct tag or git commit sha.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Cut Your Data Warehouse Bill by 54% Icon
    Cut Your Data Warehouse Bill by 54%

    Migrate from Snowflake, Redshift, or Databricks with free tools. No SQL rewrites.

    BigQuery delivers 54% lower TCO with serverless scale and flexible pricing. Free migration tools handle the SQL translation automatically.
    Try Free
  • 5
    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
  • 6

    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: 1 This Week
    Last Update:
    See Project
  • 7
    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: 1 This Week
    Last Update:
    See Project
  • 8
    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: 1 This Week
    Last Update:
    See Project
  • 9
    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: 1 This Week
    Last Update:
    See Project
  • Fully Managed MySQL, PostgreSQL, and SQL Server Icon
    Fully Managed MySQL, PostgreSQL, and SQL Server

    Automatic backups, patching, replication, and failover. Focus on your app, not your database.

    Cloud SQL handles your database ops end to end. Migrate from on-prem or other clouds with free migration tools.
    Try Free
  • 10
    Useful Forks

    Useful Forks

    Improving GitHub's Forks list discoverability through auto-filtering

    It aims at increasing the discoverability of useful forks of open-source projects. Simply type a repository's URL in the Text Field. The criteria is simple: if a fork was created, but never received any other activity on its master branch, it is filtered out. Adding a sorted list of starred forks to the GitHub forks page. Results are filtered out if there were never any commits pushed on the main branch since the fork was created. This is meant to help increase the discoverability of useful forks of open-source projects. Sometimes, a project might be abandoned, or someone had a different idea of how it should be implemented... and when you go looking for those interesting forks, you find yourself searching through potentially hundreds of them. This tool is here to help you discover the hidden jewels you were looking for!
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    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: 1 This Week
    Last Update:
    See Project
  • 12
    bit CLI

    bit CLI

    Bit is a modern Git CLI

    bit is an experimental modernized git CLI built on top of git that provides happy defaults and other niceties. Command and flag suggestions to help you navigate the plethora of options git provides you. Autocompletion for files and branch names when using bit add or bit checkout. Automatic fetch and branch fast-forwarding reduce the likelihood of merge conflicts. Suggestions work with git aliases. New commands like bit sync vastly simplify your workflow. Commands from git-extras such as bit release & bit info. Fully compatible with git allowing you to fallback to git if need be. Get insight into how bit works using bit --debug.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    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: 1 This Week
    Last Update:
    See Project
  • 14
    forgit

    forgit

    A utility tool powered by fzf for using git interactively

    This tool is designed to help you use git more efficiently. It's lightweight and easy to use. Fig adds apps, shortcuts, and autocomplete to your existing terminal. Options can be set via environment variables. They have to be exported in order to be recognized by forgit. You can use forgit as a subcommand of git by making git-forgit available in $PATH. Forgit will use the default configured pager from git (core.pager, pager.show, pager.diff) but can be altered with several environment variables. You can add default fzf options for forgit, including keybinds, layout, etc. (No need to repeat the options already defined.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    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: 1 This Week
    Last Update:
    See Project
  • 16
    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: 1 This Week
    Last Update:
    See Project
  • 17
    git-chglog

    git-chglog

    CHANGELOG generator implemented in Go (Golang)

    Package chglog implements the main logic for the CHANGELOG generate. git-chglog internally uses the git command to get data to include in the CHANGELOG. The basic steps are as follows. Get all the tags. Get the commits contained between tagA and tagB. Execute all tags corresponding to the tag query that was specified in Steps 1 and 2. The compiled docker images are maintained on quay.io. git-chglog requires configuration files and templates to generate a CHANGELOG. However, it is a waste of time to create configuration files and templates from scratch. Therefore we recommend using the --init option which will create them interactively. CHANGELOG style. Automatic linking of issues and notices, initial value setting such as merges etc. are done automatically. Metadata for CHANGELOG. Depending on Style, it is sometimes used in processing, so it is recommended to specify it.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    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: 1 This Week
    Last Update:
    See Project
  • 19
    git-sizer

    git-sizer

    Compute various size metrics for a Git repository

    git-sizer computes various size metrics for a local Git repository, flagging those that might cause you problems or inconvenience. Is the repository too big overall? Ideally, Git repositories should be under 1 GiB, and (without special handling) they start to get unwieldy over 5 GiB. Big repositories take a long time to clone and repack, and take a lot of disk space. Avoid storing generated files (e.g., compiler output, JAR files) in Git. It would be better to regenerate them when necessary, or store them in a package registry or even a fileserver. Avoid storing large media assets in Git. You might want to look into Git-LFS or git-annex, which allow you to version your media assets in Git while actually storing them outside of your repository. Avoid storing file archives (e.g., ZIP files, tarballs) in Git, especially if compressed. Different versions of such files don't delta well against each other, so Git can't store them efficiently.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    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: 1 This Week
    Last Update:
    See Project
  • 21
    gitjacker

    gitjacker

    Leak git repositories from misconfigured websites

    Leak git repositories from misconfigured websites. Gitjacker downloads git repositories and extracts their contents from sites where the .git directory has been mistakenly uploaded. It will still manage to recover a significant portion of a repository even where directory listings are disabled. For educational/penetration testing use only. You will need to have git installed to use Gitjacker.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    joe

    joe

    A .gitignore magician in your command line

    A .gitignore magician in your command line. Joe generates .gitignore files from the command line for you. After install, make sure to run joe u. This will download all .gitignore files in ~/joe-data/ folder. Download the latest binary from the Releases page. It's the easiest way to get started with joe. Make sure to add the location of the binary to your $PATH. You can also use joe to append to a global .gitignore. These can be helpful when you want to ignore files generated by an IDE, OS, or otherwise. Joe isn't just a generator for .gitignore files. You can use it and its output wherever a SCM is used.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    libgit2

    libgit2

    A cross-platform, portable, linkable Git implementation library

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

    logo-ls

    Modern ls command with vscode like File Icon and Git Integrations

    Modern ls command with beautiful Icons and Git Integrations. Written in Golang. This project is built to add esthetics to ls (coreutiles) command. Language agnostic binaries. Git Status Integration. Supporting 600+ files, extensions, and directories. This project is highly inspired by ls(coreutiles) and color ls. The project tries to find a happy path between speed and aesthetics. All supported flags can be found by using help flag $ logo-ls -?. Almost all flags are same as that of the classic ls command and behave similarly. The project can be used as a drop-in replacement for the ls(coreutiles) Nerd fonts are required to display Icons on screen. Basically Nerd Fonts patches your current font i.e., the last few unicode points (approx 2,824 out of 143,859) in the font are replaced with nerdy icons. If you have Golang installed on your system then the logo-ls can be downloaded and installed using the the go cli tool provided by the language.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    mergestat-lite

    mergestat-lite

    Query git repositories with SQL. Generate reports and codebases

    MergeStat enables open-source, operational analytics for software engineering teams. Treat your code (and configuration files) like a database to operationalize aspects of the SDLC. Ensure your organization is always following best practices in the software development lifecycle. Engineering transparency. Keep tabs on the areas of interest in your engineering organization, across repositories and teams. MergeStat enables SQL queries on the tools and processes involved in building and shipping software. Use data to inform decisions, support arguments, and work more efficiently. Leverage the flexibility of SQL to ask the questions that matter to you. Existing tools tell you what to care about, MergeStat lets you decide what's important. MergeStat can run on most infrastructure. Ours or yours. Fully open-source and self-deployable on any infrastructure to ensure security/privacy.
    Downloads: 1 This Week
    Last Update:
    See Project
MongoDB Logo MongoDB