gpt4 book ai didi

windows - git.cmd vs git.exe - 有什么区别,应该使用哪一个?

转载 作者:IT王子 更新时间:2023-10-29 01:14:39 27 4
gpt4 key购买 nike

我有一个粗略的想法,git.cmd 只是一个包装器(但默认情况下添加到 PATH),但我发现 git.exe 也能正常工作,我打算用它来解决这个 issue (关于 XP64 上的 chcp 的评论)。出于任何原因根本不推荐这样做吗?另外,首先真的需要 git.cmd 吗?

注意:我指的 chcp 问题不是由缺少 PATH 条目引起的,如 'chcp' is not recognized as an internal or external command, operable program or batch file. on a Windows PC

最佳答案

git.cmd 不再存在于当前版本的 msysgit(例如 1.8.0)中。 git.cmd 是一个包装器,已被一个名为 git.exe 的新包装器取代。这不要与实际的 git.exe 混淆。

如果查看 %ProgramFiles(x86)%%ProgramFiles% 中的 Git 目录,您将看到以下结构:

Git
|-- bin
| |-- git.exe
|-- cmd
|-- git.exe

wrapper 已经在 msysgit 中存在了很长时间,以便正确设置从 cmd.exe 使用 git 的环境。如果您使用的是包含的 bash shell,它将直接运行 git.exe。

您可以在此处将旧的 cmd 版本与新的可执行包装器进行比较:

  1. git.cmd
  2. git.exe wrapper

您真的不需要担心任何这些魔术,只需了解您应该从除 msysgit bash 环境之外的任何地方调用包装器。当您将 git 添加到安装程序中的路径时,添加的是 Git\cmd 目录。我不建议将所有包含的实用程序添加到您的系统路径,因为这会导致很多问题,尤其是当您安装了其他 msys 或 cygwin 时。在最近的内存中我从未真正尝试过它,但我想它会将 cmdbin 目录都放在你的路径中, cmd优先考虑。

对我来说,新的 git.exe 包装器有一个巨大的优势:它使调用 git 的代码更具可移植性。以前,如果我编写了一个调用 git 的 python 脚本,我将不得不使用 shell 环境执行命令(subprocess.Popen() with shell=True)或者显式运行 cmd 文件。现在,无论操作系统如何,我都可以只执行一个名为“git”的进程。这是因为 Windows 上的 CreateProcess() 不会执行批处理文件(.cmd.bat 的别名),您需要调用 cmd.exe 来执行它。

关于windows - git.cmd vs git.exe - 有什么区别,应该使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com