擅长:python、mysql、java
<p>Git是由“管道”和“瓷器”组成的。管道组件构成基础,低级系统:管理对象、存储库、遥控器等。另一方面,瓷器则意味着使用管道的更方便用户的高级工具。</p>
<p>历史上,只有最基本的/性能关键的部分(主要是管道)是用C实现的,其余部分使用shell/perl脚本。为了便于移植,越来越多的代码是用C语言重写的</p>
<p>在这种背景下,我建议只使用对git可执行文件的系统调用来包装python。把你的代码看作Git瓷器的一部分。与使用专用库相比:</p>
<p><strong>专业版</strong></p>
<ul>
<li>无需学习API——使用熟悉的<code>git</code>命令</li>
<li>完整的工具集——您可以使用瓷器,并且不受低级功能的限制</li>
</ul>
<p><strong>反向</strong></p>
<ul>
<li>需要分析来自<code>git</code>调用的命令行输出。</li>
<li>可能会慢一些</li>
</ul>