本文为大家讲解的是Python的高级Git库 Gittle安装使用方法,Gittle是一个高级纯python git 库。构建在dulwich之上,提供了大部分的低层机制。
Install it
pip install gittle
Examples :
Clone a repository
from gittle import Gittle repo_path = '/tmp/gittle_bare' repo_url = 'git://github.com/FriendCode/gittle.git' repo = Gittle.clone(repo_url, repo_path)
With authentication (see Authentication section for more information) :
auth = GittleAuth(pkey=key) Gittle.clone(repo_url, repo_path, auth=auth)
Or clone bare repository (no working directory) :
repo = Gittle.clone(repo_url, repo_path, bare=True)
Init repository from a path
repo = Gittle.init(path)
Get repository information
# Get list of objects repo.commits # Get list of branches repo.branches # Get list of modified files (in current working directory) repo.modified_files # Get diff between latest commits repo.diff('HEAD', 'HEAD~1')
Commit
# Stage single file repo.stage('file.txt') # Stage multiple files repo.stage(['other1.txt', 'other2.txt']) # Do the commit repo.commit(name="Samy Pesse", email="samy@friendco.de", message="This is a commit")
Pull
repo = Gittle(repo_path, origin_uri=repo_url) # Authentication with RSA private key key_file = open('/Users/Me/keys/rsa/private_rsa') repo.auth(pkey=key_file) # Do pull repo.pull()
Push
repo = Gittle(repo_path, origin_uri=repo_url) # Authentication with RSA private key key_file = open('/Users/Me/keys/rsa/private_rsa') repo.auth(pkey=key_file) # Do push repo.push()
Authentication for remote operations
# With a key key_file = open('/Users/Me/keys/rsa/private_rsa') repo.auth(pkey=key_file) # With username and password repo.auth(username="your_name", password="your_password")
Branch
# Create branch off master repo.create_branch('dev', 'master') # Checkout the branch repo.switch_branch('dev') # Create an empty branch (like 'git checkout --orphan') repo.create_orphan_branch('NewBranchName') # Print a list of branches print(repo.branches) # Remove a branch repo.remove_branch('dev') # Print a list of branches print(repo.branches)
Get file version
versions = repo.get_file_versions('gittle/gittle.py') print("Found %d versions out of a total of %d commits" % (len(versions), repo.commit_count()))
Get list of modified files (in current working directory)
repo.modified_files
Count number of commits
repo.commit_count
Get information for commits
List commits :
# Get 20 first commits repo.commit_info(start=0, end=20)
With a given commit :
commit = "a2105a0d528bf770021de874baf72ce36f6c3ccc"
Diff with another commit :
old_commit = repo.get_previous_commit(commit, n=1) print repo.diff(commit, old_commit)
Explore commit files using :
commit = "a2105a0d528bf770021de874baf72ce36f6c3ccc" # Files tree print repo.commit_tree(commit) # List files in a subpath print repo.commit_ls(commit, "testdir") # Read a file print repo.commit_file(commit, "testdir/test.txt")
Create a GIT server
from gittle import GitServer # Read only GitServer('/', 'localhost').serve_forever() # Read/Write GitServer('/', 'localhost', perm='rw').serve_forever()
http://www.phperz.com/article/14/1001/26127.html
https://github.com/FriendCode/gittle
相关推荐
Gittle是一个高级纯python git 库。构建在dulwich之上,提供了大部分的低层机制。 Install it pip install gittle Examples : Clone a repository from gittle import Gittle repo_path = '/tmp/gittle_bare' repo_...
这个脚本可能会用到Git的命令行工具或Python的Git库(如PyGit2或GitPython)来与Git仓库进行交互。 2. **Python编程**:作为主要的实现语言,Python以其简洁明了的语法和丰富的库资源,使得代码贡献量分析变得相对...
在Python开发中,每个项目都可以创建一个Git仓库,通过`git init`命令初始化,然后使用`git add`添加文件,`git commit`进行提交,记录下代码的每次变动。 在团队合作中,`git branch`用于创建分支,`git checkout`...
GitPython 是一个 Python 库用来和 Git 资料库进行交互,提供各种级别的操作,例如高级的 git-porcelain 和低级的 git-plumbing. GitPython 提供了 Git 对象的抽象封装以简化数据的访问。 示例代码: from git ...
* 本地已经安装了 Python 和 Git,并且均可正常使用。 * 已经注册了 Git 账号。 * Git 网址:https://gitee.com/ Step 1: git 用户绑定邮箱 首先,需要将 Git 账号绑定到邮箱上。登录 Git 网站,按照以下步骤操作...
该项目是基于Python的Git仓库统计分析工具设计源码,共计72个文件,其中包括34个Python脚本、7个MO文件、7个PO文件、5个文本文件、2个压缩文件、1个Git忽略文件、1个PyLint配置文件、1个INI配置文件、1个Markdown...
gitDiffTool 是一个Git代码对比工具,可以对Git项目的两个提交进行对比,对比结果将生成一份html报告。 你可以在生成的结果页中查看两次提交间代码的diff,结果页仅为单个html页面,左边栏是两次提交有改动的文件...
- **Git API**:通过Python的Git库,如`gitpython`或`PyGit2`,Klaus能够与Git仓库进行交互,获取文件、提交、分支等信息。 - **前端技术**:虽然Klaus是基于浏览器的,但其前端部分可能采用HTML、CSS和JavaScript,...
Python Git 库通常指的是 PyGit2,它是一个 Python 绑定库,提供了 Git C 库的接口。PyGit2 不是本文档所提及的“python_git”,但它们都旨在为 Python 开发者提供 Git 功能。本文档的“python_git”可能是另一个...
- Python是一种广泛使用的高级编程语言,以其清晰简洁的语法著称。 #### 安装Python - 解释器的安装,不同版本的Python解释器特点。 #### 第一个Python程序 - 使用文本编辑器创建并运行Python代码。 #### Python...
3. **PyPI发布**: 如果你的Python项目是可公开使用的库,可以通过GitHub Actions自动发布到Python包索引(PyPI)。 4. **持续集成(CI)/持续部署(CD)**: 结合GitHub和Jenkins、Travis CI等工具,实现Python项目...
【标题】"廖雪峰Python&Git&JavaScript教程离线版"所涵盖的知识点非常广泛,包括了Python编程语言、Git版本控制工具以及JavaScript这三种在IT领域中至关重要的技术。接下来,我们将深入探讨这三个方面的内容。 **...
下面,我们先来理解Django和Python的基础,然后详细介绍`taggit`的安装、配置以及使用方法。 Django是一个由Python编写的开源Web框架,它遵循“DRY”(Don't Repeat Yourself)原则,旨在提高开发效率并减少代码...
莫烦 Python、Git、Linux 系列教程 2020.10.31.epub
鱼C出品,极客Python之Git实用教程 Github教程,讲述Github的使用。HTML格式文档。学习交流。
Python是一种高级编程语言,以其简洁明了的语法和强大的库生态系统而受到欢迎。在Web开发中,Python常用于后端开发,比如使用Django或Flask等框架。Python也适合数据分析、机器学习和科学计算,因为它有丰富的库如...
标题中的“Python库 | hg-git-0.2.5.tar.gz”表明这是一个针对Python的库,具体来说是hg-git库的0.2.5版本,它被打包成一个tar.gz格式的压缩文件。这种格式是Linux和Unix系统中常见的归档和压缩方式,通常用于在...
之前下载了前辈们的GitHack工具发现竟然只能在python2运行,生为程序猿的我瞬间毛血旺了,因为自己装的是python3发现尽然用不了,超灵长类生物不能忍,我瞬间打开源码对键盘一顿咔咔咔胡打,最终成功在python3运行。...
本文将深入探讨这个库的特性和使用方法,以及如何在Python环境中安装和应用。 首先,让我们明确“git_versiointi”的含义。Git是一种分布式版本控制系统,广泛用于软件开发中的源代码管理。而“git_versiointi”这...
在使用这个库之前,开发者首先需要将`git-recipe-0.2.7.tar.gz`文件解压缩,然后可以使用Python的`setup.py`脚本安装到本地环境,或者使用`pip`(Python的包管理器)直接从源码地址安装。安装完成后,通过`import ...