如何创建Git GUI并解析Git';谁的产量?
我想创建一个小的Git GUI,我的想法是制作一个调用普通Git软件的程序(使用如何创建Git GUI并解析Git';谁的产量?,git,user-interface,console,exec,Git,User Interface,Console,Exec,我想创建一个小的Git GUI,我的想法是制作一个调用普通Git软件的程序(使用exec或类似的东西),但我的问题是我不知道如何处理Git的stdout(输出)。它将所有内容打印为字符串 有没有办法让它打印一些易于解析的数据,比如JSON之类的 像git gui for Windows或Gitkraken这样的gui是如何获得输出的 如果您知道另一个类似的程序,那么请告诉我我可以使用的方法。在许多语言中都有使用git的库。例如,您可以使用python或ruby等 例如: from git imp
exec
或类似的东西),但我的问题是我不知道如何处理Git的stdout
(输出)。它将所有内容打印为字符串
有没有办法让它打印一些易于解析的数据,比如JSON之类的
像git gui for Windows或Gitkraken这样的gui是如何获得输出的
如果您知道另一个类似的程序,那么请告诉我我可以使用的方法。在许多语言中都有使用git的库。例如,您可以使用python或ruby等 例如:
from git import Repo
repo = Repo("/path/to/a/repo")
for file in repo.untracked_files:
print("untracked file:", file)
在许多语言中都有使用git的库。例如,您可以使用python或ruby等 例如:
from git import Repo
repo = Repo("/path/to/a/repo")
for file in repo.untracked_files:
print("untracked file:", file)
你有两种可能,各有优势,各有利弊
- 最新的
- 不要与官方客户行为不同,与图书馆相反(主要优势)
- 使用和解析输出非常困难
- 需要支持不同的版本
--cerial
或--output
:
- 真的很容易使用
- 性能可能会更好(无需每次命令都读取git文件)
- 使用可能略有不同或功能有限(特别是对于纯语言实现)
Ps:你的目标是哪种语言和哪种系统?为什么不改进现有的GUI?因为这是一项艰巨的工作 你有两种可能,各有利弊
- 最新的
- 不要与官方客户行为不同,与图书馆相反(主要优势)
- 使用和解析输出非常困难
- 需要支持不同的版本
--cerial
或--output
:
- 真的很容易使用
- 性能可能会更好(无需每次命令都读取git文件)
- 使用可能略有不同或功能有限(特别是对于纯语言实现)
git--cerial
获得更多机器可读的输出。例如,如果您在回购协议上运行git status
,而不做任何更改,您将获得一些不必要的信息,例如提示推送。但是,如果您运行git-status--chi瓷
,则会出现零输出,您可以使用git--chi瓷
获得更多机器可读的输出。例如,如果您在回购协议上运行git status
,而不做任何更改,您将获得一些不必要的信息,例如提示推送。但是如果运行git status--
,则输出将为零