[code]pip install gittle[/code][h1][url=https://github.com/FriendCode/gittle#examples-][/url]Examples :[/h1] [h2][url=https://github.com/FriendCode/gittle#clone-a-repository][/url]Clone a repository[/h2]
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)
repo = Gittle.init(path)
# 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')
[h2][url=https://github.com/FriendCode/gittle#commit][/url]Commit[/h2]
# 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")
[h2][url=https://github.com/FriendCode/gittle#pull][/url]Pull[/h2]
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()
[h2][url=https://github.com/FriendCode/gittle#push][/url]Push[/h2]
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()
[h2][url=https://github.com/FriendCode/gittle#authentication-for-remote-operations][/url]Authentication for remote operations[/h2]
# 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")
[h2][url=https://github.com/FriendCode/gittle#branch][/url]Branch[/h2]
# 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)
[h2][url=https://github.com/FriendCode/gittle#get-file-version][/url]Get file version[/h2]
versions = repo.get_file_versions('gittle/gittle.py')
print("Found %d versions out of a total of %d commits" % (len(versions), repo.commit_count()))
[h2][url=https://github.com/FriendCode/gittle#get-list-of-modified-files-in-current-working-directory][/url]Get list of modified files (in current working directory)[/h2]
repo.modified_files
repo.commit_count
# Get 20 first commits repo.commit_info(start=0, end=20)
commit = "a2105a0d528bf770021de874baf72ce36f6c3ccc"
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")[h2][url=https://github.com/FriendCode/gittle#create-a-git-server][/url]Create a GIT server[/h2]
from gittle import GitServer
# Read only
GitServer('/', 'localhost').serve_forever()
# Read/Write
GitServer('/', 'localhost', perm='rw').serve_forever()
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有