我觉得这个问题可以用一两个超链接来回答;我只是没有提出正确的搜索条件来自己查找这些链接…
我正在尝试对git p4子命令进行一些小的更改,它被实现为名为/usr/libexec / git-core / git-p4的3797行Python脚本.在深入探讨代码之前,我想了解一下Python git命令的结构.
子命令从调用者那里得到什么信息?它可以依赖现有的环境变量?它如何检测配置(来自.git / config和/或〜/ .gitconfig)?如何从git传递git命令行选项(如果有许多不同子命令共有的命令行选项,并且你想确保它们的处理是集中的)?子命令启动时当前工作目录是什么?如果我改变cwd怎么办?作为新子命令功能的一部分,我如何与git通信它应该更改repo(make commits,添加或删除标签,重写历史记录)?我的命令可以直接“处理”索引而无需创建工作树,如果是,如何?如何处理和报告错误?如何以一致的方式打印使用信息?
我假设必须有博客文章和关于这个主题的事情,但搜索“在python中编写一个git子命令”,“创建新的git子命令”等,只是提出了从Python运行现有git命令的方法以及创建新方法的方法git repos,分别.