mor*_*rxa 3 python git gitpython
在我的python程序中,我想检查我的遥控器上是否存在ref.我可以检查遥控器git ls-remote,但我想避免自己解析输出.
我找到git.remote.Remote了GitPython,但这只是指本地存储库的远程.
是否GitPython有一个等效的命令,允许我在不克隆存储库的情况下查看远程引用?
mor*_*rxa 15
GitPython不支持ls-remote,但您可以使用git.cmd运行任何git命令,然后手动解析输出:
import git
def lsremote(url):
remote_refs = {}
g = git.cmd.Git()
for ref in g.ls_remote(url).split('\n'):
hash_ref_list = ref.split('\t')
remote_refs[hash_ref_list[1]] = hash_ref_list[0]
return remote_refs
Run Code Online (Sandbox Code Playgroud)
例:
In [3]: refs = lsremote('https://github.com/gitpython-developers/GitPython.git')
In [4]: refs['HEAD']
Out[4]: u'9f4af7c6db25c5bbec7fdc8dfc0ea6803350d94c'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2474 次 |
| 最近记录: |