我想在python中编写一个模块(这是学习项目)来增强我的git体验.有各种git命令的python模块吗?至少基本的(commit/diff/log/add)?
我看到了GitPython,但我找不到对(新)提交的支持; 它更像是一个repo浏览框架,而不是一个完整的GIT界面.(或者我错过了什么?)
另外,如果有一个python模块用于所有这些,那会更好,还是从python代码执行shell命令?
Fer*_*yer 10
Git的设计包括"管道"和"瓷器".管道组件构成了基础,低级系统:管理对象,存储库,远程控制等.另一方面,瓷器意味着使用管道的更加用户友好的高级工具.
从历史上看,只有最基本/性能关键的部分(主要是管道)在C中实现,其余部分使用shell/perl脚本.为了更加可移植,越来越多的代码在C中被重写.
有了这个背景,我建议只使用git可执行文件的系统调用来进行python包装.将您的代码视为Git瓷器的一部分.与使用专业库相比:
PRO
git您熟悉的命令魂斗罗
git调用的命令行输出.我认为某些python来源可以帮助像我这样的初学者避免在挖掘文档上浪费宝贵的时间。
所有提交都将重新创建 origin master
这里是:
from git import Repo
import os
path = '/your/path/here'
if not os.path.exists(path):
os.makedirs(path)
os.chdir(path)
repo = Repo.init(path).git
index = Repo.init(path).index
for x in xrange (1,10):
fname = 'filename' + str(x)
f.open(fname, 'wb+')
f.write()
f.close()
repo.add(fname)
index.commit("initial commit")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20275 次 |
| 最近记录: |