在Windows操作系统下,这4种git.exe有什么具体区别?
CodeWizard的回答没有具体说明它们之间的区别。
图2是Intellij Idea导入git版本控制,奇怪的是所有四个git.exe都工作得很好。为什么?谢谢
发布于 2019-08-26 02:10:13
简短的回答
实际上有两个不同的文件:包装器文件和实际的git可执行文件。
较小的文件C:\Program Files\Git\bin\git.exe
和C:\Program Files\Git\cmd\git.exe
是生成mingw64版本的git的包装器。
虽然它们可能都适用于IntelliJ,但您最好指向其中一个包装器,因为它们的目的是在git for Windows bash shell之外运行git时设置Git环境。
长长的答案
虽然有4个可执行文件,但就文件内容而言,只有2个不同的可执行文件。
PS C:\Program Files\Git> Get-FileHash .\bin\git.exe,.\cmd\git.exe,.\mingw64\bin\git.exe,.\mingw64\libexec\git-core\git.exe Algorithm Hash Path
--------- ---- ----
SHA256 8984FB839A6A70DD84E644F91C81F191F3C9056BC7A1152669C608791F180468 C:\Program Files\Git\bin\git.exe
SHA256 8984FB839A6A70DD84E644F91C81F191F3C9056BC7A1152669C608791F180468 C:\Program Files\Git\cmd\git.exe
SHA256 F3E755DCACAC1070160103CD716CEA728FFB101EC44EDF989AD8C5A467FF31DC C:\Program Files\Git\mingw64\bin\git.exe
SHA256 F3E755DCACAC1070160103CD716CEA728FFB101EC44EDF989AD8C5A467FF31DC C:\Program Files\Git\mingw64\libexec\git-core\git.exe
在这两个不同的可执行文件中,mingw版本是为了在Git for Windows发行版附带的bash shell中使用的。
...while另外两个版本使用的是Windows shell (Powershell和cmd)。这些文件是为mingw git.exe设置git环境,然后生成mingw git.exe的包装器。
从命令行运行Git
当您安装Git for Windows时,您的PATH
环境变量将更新为包含Git\cmd
路径,该路径具有git.exe
的一个副本。在我的机器上,这个路径是C:\Program Files\Git\cmd
。
如果在Process Monitor运行时运行该版本git.exe
,您将看到它所做的第一件事就是生成一个运行C:\Program Files\Git\mingw64\bin\git.exe
的新进程。
https://stackoverflow.com/questions/57647121
复制相似问题