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

标签 windows git posix compatibility

据我所知,Git 似乎严重依赖 POSIX 特定的功能,导致 Windows 上出现兼容性问题。但是,我并不具体了解 Git 使用的哪些 POSIX 功能无法在 Windows 上轻易复制。

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

最佳答案

是的,Git 确实依赖于 POSIX 系统,但请注意 POSIX specifies a lot of things :shell 环境(即命令行环境)、操作系统接口(interface)(即实现文件 I/O、线程等的库)、正则表达式、目录结构(即/dev/null、/tmp)和实用程序。

考虑到我对 POSIX 的定义,应该可以看出 Git 几乎依赖于所有 POSIX。但是,如果您阅读 Git 开发人员的 CodingGuidelines ,您会看到 Git 使用 POSIX 作为实现广泛可移植性的方法。

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

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

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

如果 POSIX 和命令行让您犹豫不决,您可能想要探索 Git UI,例如 Atlassian SourceTreeGitHub for Windows .

关于windows - Git 对 POSIX 功能的依赖在 Windows 上仍然是一个问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22166612/

相关文章:

c - 打开系统调用未按预期工作

windows - 从 Windows 中的文件句柄获取文件路径

bash - 如何可靠地解析 git 分支输出以仅捕获分支名称?

Windows native API : When and why use Zw vs Nt prefixed api calls?

git diff --name-status : What does R100 mean?

git - 是否可以使用礼品库查看远程仓库的所有分支?

shell - POSIX shell 中是否需要 `command -v` 选项?豪华符合 POSIX 吗?

linux - POSIX 串行端口上的 read() 可能很慢的原因是什么?

windows - NTFS-Search(一个OSS项目)可以扫描NTFS卷上的任何文件吗?

python - 在使用 Python 的 Windows 中,如何终止我的进程?