通过子流程与git进行简单交互的python模块

simplegit的Python项目详细描述


#单纯形 通过子流程与git进行简单交互的python模块。

###怎么做? ` # pip install simplegit ` (注意:这还不能通过pip工作。正在处理这个问题。) `python from simplegit import Git git = Git() output_lines, returncode, error_lines = git.status() `

###为什么? 在个人项目中,我总是发现自己在编写脚本以自动化开发过程的一部分。一个例子是为github页面网站签出一个gh pages分支,推到gh pages,然后再次签出master-通常我有一个名为push.py的脚本,它会自动执行此操作。如果要有条件地忽略基于分支的文件,则需要做更多的处理(包括额外的提交)。使用python的子进程执行这些git命令有点笨拙,因此simplegit提供了一个很好的包装器。

###它是如何工作的? git类表单simplegit只需调用它(例如git().status(“-s”)),构建一个子流程命令,执行它,并返回相关信息。任何Git命令(例如状态、提交、推、拉)都是可用的,因为Python对象盲目地代理函数名来构建命令(例如 git。添加(“-a”) -gt;cit > git -Addia/aCIT>。一些示例:

`python lines, rtncode, err_lines = git.status("-s") lines, rtncode, err_lines = git.commit("-m 'A fun message'") `

如果需要调用会产生python语法错误的git命令(如ls文件),可以使用git().call

`python git.call("ls-files","--others--exclude-standard") `

###贡献 现在,这只是我开始的一个一次性项目。如果你想贡献或有想法,拉请求是欢迎的!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Clojure关键字在内存中的大小是多少?   Java中有固定长度的通用数组对象吗?   PostgreSQL:通过Java更新我的用户表   错误:使用java解析xml   java Json显示列表中对象的名称   java比较JodaTime时区   与JAVA中的API和包的区别?   java的int值在for循环中不改变   谷歌应用引擎中的java RSA   迁移到spring 5后出现java非法字符错误   java Websphere管理控制台不工作   JavaGSON如何始终在json中包含毫秒?   带有空格和双引号的windows Java ProcessBuilder命令参数失败   java错误:重复的zip条目[43.jar:org/apache/http/annotation/NotThreadSafe.class]