我能看到git-gui正在执行的命令吗?

8
有没有一种方法可以查看git-gui正在执行哪些命令?可以在状态栏或日志中查看吗?这对于更好地学习命令行非常有用。

我们可以假设你指的是这个叫做“git-gui”的GUI吗?否则你需要具体说明,因为Git有相当多的GUI可供选择。 - ajp15243
是的,谢谢,我会编辑问题以使其更清晰。 - wisbucky
也许可以在 tkcon 中运行 exec git gui&,并使用 send 进行一些内省,但我从未尝试过。 - Todd A. Jacobs
@CodeGnome git-gui 明确禁用了 Tk 发送功能。原作者认为这是一个安全问题(尽管实际上并不是)。 - patthoyts
@patthoyts 您似乎是正确的;我尝试了一下,发现该功能已被禁用。如果您有此设计决策的URL或其他来源,我会非常感兴趣。 - Todd A. Jacobs
@CodeGnome,代码中禁用此功能的行附有注释。从那里看来,为什么要这样做似乎很清楚。 - patthoyts
2个回答

8
是的。git-gui接受一个--trace选项,它会打印每个执行的git命令到stderr。如果您在Windows上运行,而没有stderr,则它也会显示Tk控制台,并且此输出可在其中查看。在Windows上,即使没有--trace选项,您也可以使用Ctrl-F2显示控制台,以便对正在运行的应用程序进行调试。在其他系统上,stderr将出现在您从启动应用程序的控制台窗口中。如果您使用了桌面图标或快捷方式,则可能需要手动启动终端窗口并启动它以查看输出(unix或macos)。

这似乎是有效的,但是这个在哪里有记录呢?git-gui(1)中没有。 - Todd A. Jacobs
@patthoyts 哇,那是一些疯狂的秘密知识。看起来git-gui使用git-core命令,如“git-update-index.exe”,“git-diff-index.exe”,“git-check-attr.exe”,而不是通常/典型的命令行。我想没有办法得到它们,对吧?嗯,这还是有点用处的。 - wisbucky
这会防止某些命令被使用。例如,“还原”命令(Ctrl + J)似乎无法工作(在Ubuntu 18.04上测试过)。 - Dorian Marchal

2

我创建了一个桌面快捷方式,指向我大部分时间工作的版本控制目录:

"C:\Program Files\Git\cmd\git-gui.exe" "--working-dir" "C:\my\version\control\directory" "--trace"


注意,以上内容中的引号不能省略。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接