我试图在Windows上运行gitk ,但控制台给我:
'gitk' is not recognized as an internal or external command, operable program or batch file.
但是,我可以做
> where gitk C:\Program Files (x86)\Git\bin\gitk
怎么会?
更新:窃取OP的评论:
感谢(冗长)的解释,对我来说最简单的解决方法是从旧的msysGit(1.9.5)版本移动到新的“Git for Windows”版本,它有一个适当的Windows gitk包装。
与大多数git命令不同, gitk
是一个调用Tcl的shell脚本。
如果你检查gitk
可执行文件本身,它的前几行是:
#!/bin/sh # Tcl ignores the next line -*- tcl -*- \ exec wish "$0" -- "$@"
(至少在我的Linux系统上是这样的; gitk
的Windows安装程序可能会改变这一点。)
在类Unix系统上,第一行(称为“shebang” )告诉系统调用/bin/sh
来执行文件,而不是直接执行。
第三行执行wish
命令,它作为Tcl脚本执行脚本。
如果你在你的Windows系统上安装了Tcl,你应该可以像这样使用gitk
作为Tcl脚本:
C:\> tclsh "C:\Program Files (x86)\Git\bin\gitk"
(免责声明:我没有试过这个。)
您也许可以将命令的名称从gitk
更改为gitk.tcl
并在Windows中设置文件关联,以便正确调用它。 (我有点惊讶,Windows的git安装程序没有为你做这个。)
在Windows上运行Tcl脚本的更多信息可以在这里找到。
这个问题讨论从上下文菜单中调用gitk
而不是从命令行。