Git对POSIX功能的依赖在Windows上仍然是一个问题吗?

Git对POSIX功能的依赖在Windows上仍然是一个问题吗?,windows,git,posix,compatibility,Windows,Git,Posix,Compatibility,据我所知,Git似乎严重依赖于POSIX的特定功能,这导致了Windows上的兼容性问题。然而,我并不清楚Git使用了哪些POSIX特性,这些特性在Windows上很难复制 由于这个问题,我一直很犹豫是否要在我的Windows计算机上开始使用Git。Git使用了哪些POSIX特性,这仍然是一个问题吗?像msysGit这样的项目是如何绕过这些问题的?是的,Git确实依赖于POSIX系统,但请注意:shell环境,即命令行环境,操作系统接口,即实现文件i/O、线程等的库,正则表达式,目录结构,即/d

据我所知,Git似乎严重依赖于POSIX的特定功能,这导致了Windows上的兼容性问题。然而,我并不清楚Git使用了哪些POSIX特性,这些特性在Windows上很难复制


由于这个问题,我一直很犹豫是否要在我的Windows计算机上开始使用Git。Git使用了哪些POSIX特性,这仍然是一个问题吗?像msysGit这样的项目是如何绕过这些问题的?

是的,Git确实依赖于POSIX系统,但请注意:shell环境,即命令行环境,操作系统接口,即实现文件i/O、线程等的库,正则表达式,目录结构,即/dev/null,/tmp,和公用事业

考虑到我对POSIX的定义,Git实际上依赖于所有POSIX。然而,如果你阅读Git开发者的文章,你会发现Git使用POSIX作为实现广泛可移植性的手段

msysGit解决了兼容性问题,因为它是一个POSIX环境

在Windows上运行Git通常意味着在POSIX运行时环境上运行。这是我们的基础。首先启动gitbash,然后在该环境中运行Git命令

我可以向您保证Git以这种方式工作得很好


如果POSIX和命令行让您犹豫不决,您可能希望像或一样探索Git UI。

我不知道Git的具体情况,但将UNIX软件移植到Windows的问题之一发生在两个API使用不同的策略来解决同一问题时。最好的例子可能是UNIX选择函数与Windows异步IO非常不同。通常,重新构造代码以使其可以使用其中任何一种都不是件小事,而且这些差异非常重要,足以使库或平台难以将它们抽象出来。我不知道Git使用的是哪种POSIX特定功能,但我在Windows机器上使用了多年,从未遇到过任何问题。Git当前的Windows端口基于msys,它似乎涵盖了所有特定于POSIX的内容。不要害怕。它起作用了!