所以这是一个更一般的问题,我以GitHub Desktop为例。
假设我们有一个CLI软件,它可以做一些事情,就像git CLI:
git commit
git add
etc
桌面版的GitHub如何与CLI版的git集成(如果它集成的话)在GUI中呈现答案和其他信息?
一般的问题是:给定一个在CLI上工作的软件X,如何在这个CLI软件之上构建GUI ?
Electron是否有一些实用程序来运行cli命令并解析结果,或者它以某种方式与git的C代码集成在一起?
您可以在这里找到代码:https://github.com/desktop/desktop
。dugite
: https://github.com/desktop/dugite
似乎在使用git的/a二进制发行版:https://github.com/desktop/dugite/blob/main/docs/environment-variables.md#execution
或者更重要的:https://github.com/desktop/dugite/blob/main/docs/overview.md
dugite
是Git命令行接口之上的包装器,带有一些帮助程序,使其易于在Node应用程序中使用。