HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
git-for-windows
git
C2015–2024
git-for-windows / git

git

A fork of Git containing Windows-specific patches.

22Distinct people
25Mentions
0Explicit recommenders
9.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A fork of Git containing Windows-specific patches.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year25 dated mentions

Observed mentions: 2015-07-28 15:10:31 UTC to 2024-10-27 20:03:51 UTC.

02462015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 6 mentions; 3 submissions, 3 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC615
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC303
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC633
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC413
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Git for Windows This is Git for Windows, the Windows port of Git. The Git for Windows project is run using a governance model. If you encounter problems, you can report them as GitHub issues, discuss them in Git for Windows' Discussions or on the Git mailing list, and contribute bug fixes. To build Git for Windows, please either install Git for Windows' SDK, start its git-bash.exe, cd to your Git worktree and run make, or open the Git worktree as a folder in Visual Studio. To verify that your build works, use one of the following methods: If you want to test the built executables within Git for Windows' SDK, prepend <worktree>/bin-wrappers to the PATH. Alternatively, run make install in the Git worktree. If you need to test this in a full installer, run sdk build git-and-installer. You can also "install" Git into an existing portable Git via make install DESTDIR=<dir> where <dir> refers to the top-level directory of the portable Git. In this instance, you will want to prepend that portable Git's /cmd directory to the PATH, or test by running that portable Git's git-bash.exe or git-cmd.exe. If you built using a recent Visual Studio, you can use the menu item Build>Install git (you will want to click on Project>CMake Settings for Git first, then click on Edit JSON and then point installRoot to the mingw64 directory of an already-unpacked portable Git). As in the previous bullet point, you will then prepend /cmd to the PATH or run using the portable Git's git-bash.exe or git-cmd.exe. If you want to run the built executables in-place, but in a CMD instead of inside a Bash, you can run a snippet like this in the git-bash.exe window where Git was built (ensure that the EOF line has no leading spaces), and then paste into the CMD window what was put in the clipboard: clip.exe <<EOF set GIT_EXEC_PATH=$(cygpath -aw .) set PATH=$(cygpath -awp ".:contrib/scalar:/mingw64/bin:/usr/bin:$PATH") set GIT_TEMPLATE_DIR=$(cygpath -aw templates/blt) set GITPERLLIB=$(cygpath -aw perl/build/lib) EOF If you want to run the built executables in-place, but outside of Git for Windows' SDK, and without an option to set/override any environment variables (e.g. in Visual Studio's debugger), you can call the Git executable by its absolute path and use the --exec-path option, like so: C:\git-sdk-64\usr\src\git\git.exe --exec-path=C:\git-sdk-64\usr\src\git help Note: for this to work, you have to hard-link (or copy) the .dll files from the /mingw64/bin directory to the Git worktree, or add the /mingw64/bin directory to the PATH somehow or other. To make sure that you are testing the correct binary, call ./git.exe version in the Git worktree, and then call git version in a directory/window where you want to test Git, and verify that they refer to the same version (you may even want to pass the command-line option --build-options to look at the exact commit from which the Git version was built). Git - fast, scalable, distributed revision control system Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net. Please read the file INSTALL for installation instructions. Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools. See Documentation/gittutorial.adoc to get started, then see Documentation/giteveryday.adoc for a useful minimum set of commands, and Documentation/git-<commandname>.adoc for documentation of each command. If git has been correctly installed, then the tutorial can also be read with man gittutorial or git help tutorial, and the documentation of each command with man git-<commandname> or git help <commandname>. CVS users may also want to read Documentation/gitcvs-migration.adoc (man gitcvs-migration or git help cvs-migration if git is installed). The user discussion and development of core Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read Documentation/SubmittingPatches for instructions on patch submission and Documentation/CodingGuidelines). Those wishing to help with error message, usage and informational message string translations (localization l10) should see po/README.md (a po file is a Portable Object file that holds the translations). To subscribe to the list, send an email to git+subscribe@vger.kernel.org (see https://subspace.kernel.org/subscribing.html for details). The mailing list archives are available at https://lore.kernel.org/git/, https://marc.info/?l=git and other archival sites. The core git mailing list is plain text (no HTML!). Issues which are security relevant should be disclosed privately to the Git Security mailing list git-security@googlegroups.com. The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks. The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood): random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant. stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang. "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room. "goddamn idiotic truckload of sh*t": when it breaks
Read the full README on GitHub

What Hacker News says

25 sources
> file name does not include its full path No, it is the full path that's considered. Look at the commit message on the first commit in the `--full-name-hash` PR: https://github.com/git-for-windows/git/pull/5157/commits/d5c... Excerpt: "/CHANGELOG.json" is 15 characters, and is created by the beachball [1] tool. Only the final character of the parent directory can differntiate different versions of this file, but also only the two most-significant digits. If that character is a letter, then this is always a collision. Similar issues occur with the similar "/CHANGELOG.md" path, though there is more opportunity for differences in the parent directory. The grouping algorithm puts less weight on each character the further it is from the right-side of the name: hash = (hash >> 2) + (c << 24) Hash is 32-bits. Each 8-bit char (from the full p
Read the rest
ath) in turn is added to the 8-most significant bits of hash, after shifting any previous hash bits to the right by two bits (which is why only the final 16 chars affect the final hash). Look at what happens in practice: https://go.dev/play/p/JQpdUGXdQs7 Here I've translated it to Go and compared the final value of "aaa/CHANGELOG.md" to "zzz/CHANGELOG.md". Plug in various values for "aaa" and "zzz" and see how little they influence the final value.
In We shrunk our Javascript monorepo git size
winget.run isn't up to date, I do see 2.35.2 by running the winget CLI (note that `winget upgrade git` will run the uninstaller first). $ winget show git.git Found Git [Git.Git] Version: 2.35.2 Publisher: The Git Development Community Publisher Url: https://gitforwindows.org Publisher Support Url: https://github.com/git-for-windows/git/issues Author: Johannes Schindelin Moniker: git Description: Git for Windows focuses on offering a lightweight, native set of tools that bring the full feature set of the Git SCM to Windows while providing appropriate user interfaces for experienced Git users and novices alike. Homepage: https://gitforwindows.org License: GNU General Public License version 2 License Url: https://raw.githubusercontent.com/git-for-windows/git/main/COPYING Copyright: Copyright (C
Read the rest
) 1989, 1991 Free Software Foundation, Inc. Copyright Url: https://raw.githubusercontent.com/git-for-windows/git/main/COPYING Installer: Type: inno Download Url: https://github.com/git-for-windows/git/releases/download/v2.35.2.windows.1/Git-2.3… SHA256: 8d33512f097e79adf7910d917653e630b3a4446b25fe258f6c3a21bdbde410ca
In Git security vulnerability announced
Git-for-Windows may turn symlink support on by default under some specific circumstances. As the repo's wiki [1] says: Short version: there is no exact equivalent for POSIX symlinks on Windows, and the closest thing is unavailable for non-admins by default unless Developer Mode is enabled and a relatively recent Windows 10 version is used. Therefore, symlink emulation support is only turned on by default when that scenario is detected. [1]: https://github.com/git-for-windows/git/wiki/Symbolic-Links
In Git: Malicious repositories can execute remote code while cloning
jansan·Jun 15, 2020Submission

Discussion on renaming master branch gets heated, then shut down

The discussion about renaming "master" branches to "main" or "default" in git for windows to address issues with "non-inclusive naming" has become very heated. The vast majority of developers argued against the change, some very vocal. This resulted in git for windows administrators to go full exclusive and shut down the discussion completely for non team members, block many users and delete or minimize a large number of tweets. https://github.com/git-for-windows/git/issues/2674 The end of the thread looks like a massacre.
33 points · Open discussion
For some reason git-scm.com is almost always slow at updating links to new Git for Windows releases. I usually just track the repository's atom feed [0] and download urgent updates directly from there (git-scm.com eventually links to the releases published on GitHub anyway). [0] https://github.com/git-for-windows/git/releases.atom Edit: The Git 2.17.1.2 Chocolatey package has now been approved https://chocolatey.org/packages/git/2.17.1.2
In A security vulnerability in Git that can lead to arbitrary code execution
The initial Git for Windows 2.17.1 releases published on GitHub earlier today [0] apparently didn't include the patch. So just a heads up if you updated right after this was published: You probably want to make sure you have the fixed version (2.17.1.windows.2) [1] Not sure why the erroneous releases haven't been removed? Seems a bit confusing. [0] https://github.com/git-for-windows/git/releases/tag/v2.17.1.... [1] https://github.com/git-for-windows/git/releases/tag/v2.17.1....
In A security vulnerability in Git that can lead to arbitrary code execution

Showing the 15 most recent of 25 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.