通过子流程与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对象盲目地代理函数名来构建命令(例如
`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") `
###贡献 现在,这只是我开始的一个一次性项目。如果你想贡献或有想法,拉请求是欢迎的!