Python Git模块体验?

问题:

人们对Python的任何Git模块的体验是什么? (我知道GitPython,PyGit和Dulwich – 如果你知道他们,可以随时提到别人。)
我正在编写一个程序,它必须与Git存储库进行交互(添加,删除,提交),但是没有Git的经验,所以我正在寻找的一件事是易于使用/理解Git。
我主要感兴趣的其他事情是图书馆的成熟度和完整性,合理的缺陷,持续的开发和文档和开发人员的帮助。
如果您想到其他可能需要/需要知道的内容,请随时提及。

回答:

虽然这个问题在前一段时间被问及我不知道图书馆的状态,但是值得一提的是,搜索者GitPython很好地抽象出了命令行工具,以便您不需要使用子。有一些有用的内置抽象,您可以使用,但对于其他一切,您可以做如下事情:

import git
repo = git.Repo( '/home/me/repodir' )
print repo.git.status()
# checkout and track a remote branch
print repo.git.checkout( 'origin/somebranch', b='somebranch' )
# add a file
print repo.git.add( 'somefile' )
# commit
print repo.git.commit( m='my commit message' )
# now we are one commit ahead
print repo.git.status()

GitPython中的其他一切只是让它更容易导航。我对这个库非常满意,并感谢它是底层的git工具的包装。
 UPDATE:我已经切换到使用sh模块不只是git,但大多数命令行实用程序,我需要在python。要复制上述,我会这样做:

import sh
git = sh.git.bake(_cwd='/home/me/repodir')
print git.status()
# checkout and track a remote branch
print git.checkout('-b', 'somebranch')
# add a file
print git.add('somefile')
# commit
print git.commit(m='my commit message')
# now we are one commit ahead
print git.status()

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Python Git Module experiences?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

− 2 = 1