“从 Windows 命令提示符使用 Git 和可选的 Unix 工具”选项是否危险?

Ale*_*sky 13 cygwin git msysgit msys

安装 Git 时,它提供了将所有 msys *nix 工具添加到 PATH 中的选项,但是它警告:

警告:这将覆盖诸如“查找”和“排序”之类的 Windows 工具。仅当您了解其含义时才使用此选项。

我的问题是:

  • 它究竟会与哪些工具发生冲突?
  • 有关系吗?它们是系统常用的吗?(我从来没有亲自使用过它们。)
  • 我可以更改 PATH 中目录的顺序以防止冲突吗?
  • 这是第二个选项的作用吗?(“从 Windows 命令提示符使用 Git -- 此选项被认为是安全的,因为它只添加了一些最小的 Git 包装器”)

Ana*_*man 7

它究竟会与哪些工具发生冲突?

我个人不确定完整列表,但是这个 StackOverflow 问题

“这包括查找、终止和排序 [...] 前 3 个(和类似的)的问题在于它们存在于两个操作系统中,并且在每个操作系统中的功能不同。”

您可能不经常使用它们,但它们很常见,以至于 Git 觉得有必要警告您有关意外行为的信息。

有趣的是,它们更有可能出现在第三方程序(主要是脚本)中,因此效果级别很可能取决于您使用依赖于这些命令的程序的程度。

这是第二个选项的作用吗?(“从 Windows 命令提示符使用 Git -- 此选项被认为是安全的,因为它只添加了一些最小的 Git 包装器”)

基本上它允许您从命令行 (cmd.exe) 使用 Git 和所有常见的 Git 命令。对于 99% 可能希望从 Windows 命令行编写脚本或手动实现的内容,此选项非常安全且有用。我使用此选项并且从未亲自遇到任何问题。

安装后,您可能还想查看图形化 git 界面(例如Windows 的 GitHub DekstopSourceTree),并且不要忘记安装时也附带 Git bash。


ojc*_*ase 6

我同意其他答案的一般分析,也无法准确预测您可能会遇到什么样的冲突。我知道我自己没有注意到第三个选项有什么问题。但我可以对这些选项截至 2018 年的实际作用进行一些补充。

我尝试了各种安装配置,同时决定如何建议我的团队过渡到 git,包括这些选项。这是我实际观察到的安装对我的路径所做的事情,从 git for Windows v2.19.1 开始。

用于设置 PATH 的 Git For Windows 安装选项的屏幕截图

仅从 Git Bash 使用 Git

正如它所说的那样,不会对您的系统路径进行任何修改。git status在 Windows 命令提示符下输入一个简单的 cmd.exe 将失败并显示'git' is not recognized as an internal or external command, operable program or batch file.

从 Windows 命令提示符使用 Git

我可以更改 PATH 中目录的顺序以防止冲突吗?

这是第二个选项的作用吗?(“从 Windows 命令提示符使用 Git -- 此选项被认为是安全的,因为它只添加了一些最小的 Git 包装器”)

更改订单始终是您的一个选择,但不,第二个选择似乎与订购无关。(无论如何,路径添加似乎都到了路径的末尾。我有点怀疑这在某些时候发生了变化。)这是将哪些目录添加到路径的问题,并且在第二个和第三个选项之间是不同的。

当它说将“最小”Git 包装器添加到您的 PATH 时,它似乎实际上是将cmd(即将到来的)安装的文件夹添加到路径中。这是我最终向我的团队建议的选项。我们现在已经C:\Program Files\Git\cmd在我们的道路上。

什么是在cmd目录中?对我来说,只有六个文件:

  • git.exe
  • git-gui.exe
  • gitk.exe
  • git-lfs.exe
  • 启动 ssh-agent.cmd
  • 开始 ssh-pageant.cmd

与 Anaksunaman 的回答一样,我不确定这何时还不够。任何以 开头的正常命令git <some command>都可以通过包含 git.exe 工作。

从 Windows 命令提示符使用 Git 和可选的 Unix 工具

这包括第二个选项人员的追加<Install dir>\Git\cmd到路径,并且还增加了<Install dir>\Git\mingw64\bin<Install dir>\Git\usr\bin的路径。这两个目录都有大量的可执行文件,包括其他答案中提到的 find、sort 和 kill。

与其列出可能有几百个项目,我鼓励相关用户选择选项二,完成安装,然后查看这些目录。如果您对风险感到满意,那么您自己添加<Install dir>\Git\mingw64\bin并添加<Install dir>\Git\usr\bin到您的路径中就相当于拿回时间机器并选择第三个选项。

  • 这仍然是该主题中最有用的问题,因此我认为获得更多答案是相关的。我添加了一年,尽管我认为版本号可以达到相同的目的。 (2认同)