git bigfile允许您对大文件使用git,而无需将文件存储在git本身中

git-bigfile的Python项目详细描述


git bigfile是scott chacongit-media的python/fork的端口。 它允许您对大文件使用git,而不必将文件存储在git本身中。

配置

配置过滤器和传输

通过运行:

$ git bigfile config [--global]

或手动:

首先设置属性过滤器设置:

(once after install)
$ git config --global filter.bigfile.clean "git-bigfile filter-clean"
$ git config --global filter.bigfile.smudge "git-bigfile filter-smudge"

接下来,您需要配置git来告诉它您要将大文件存储在哪里。 有两个选项:

  1. 本地存储在文件系统路径中
  2. 通过sftp远程存储(应该可以与任何ssh服务器一起使用-需要 paramiko)

以下是~/.gitconfig(用于全局设置)中的相关部分 或在clone/.git/config中(用于每个repo设置):

[git-bigfile]
    transport = <local|sftp>

# settings for local transport
[git-bigfile "local"]
    path = <local_filesystem_path>

# settings for sftp transport
[git-bigfile "sftp"]
    hostname = <host>
    username = <user>
    path = <path_on_remote_server>

所有SFTP设置(路径除外)都将传递给paramiko.sshclient connect 方法。您可以设置:端口、密码、pkey、密钥文件名、超时…请参阅 帕拉米科API。

设置.gittattributes文件以将扩展名映射到筛选器

(in repo - once)
$ echo "*.tar.gz filter=bigfile -crlf" > .gitattributes

具有这些扩展名的暂存文件将自动将它们复制到 bigfile缓存区域(.git/bigfile),直到运行“git bigfile push”,其中 已上载。签出尚未引用的bigfile将尝试 从缓存中检索它们,否则在运行“git”时会下载它们 大文件拉取”。

用法

配置要使用的筛选器和/或传输:

$ git bigfile config

然后:

(in repo - repeatedly)
$ (hack, stage, commit)

将任何提交的bigfile推送到服务器:

$ git bigfile push

您还可以通过:

$ git bigfile status

它将显示等待上载的文件以及数据量 就是这样。如果要删除上载的大文件的本地缓存,请运行:

$ git bigfile clear

可以添加与中定义的扩展名不匹配的大文件 通过运行.gittattributes:

$ git bigfile add <huge_file>

它会将<;大文件>;添加到.gittattributes和索引中。

要展开本地没有的大文件,请运行:

$ git bigfile pull

安装

git bigfile需要python 2.5、2.6或2.7。 它已经在macos x和linux上进行了测试。

要安装,请运行:

$ pip install paramiko (to use sftp transport)
$ pip install git-bigfile

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
NetBeans中的Java Swing滚动窗格   java如何与具有复合键的表建立关系?   Android中读取文件时java数据丢失   java黄瓜场景。embed在ubuntu机器上不工作?   java从spring mvc控制器操作中,我如何获得请求/响应的访问权限?   java减去两个长值   java选择下一个值firebase 安卓   用于起始和结尾连字符的java正则表达式   Java正则表达式解释   java Lifefay freemarker ADT:方法不可用?   java我怎样才能让我的开关盒作用于JFrame?   java在我的场景中使用连接池的理想方式是什么   java我如何接受jsoup的cookies?   java如何将整数数组更改为字符串数组?   java Android操作\u指针\u向上直到剩余触摸移动时才调用   java为什么gradle会出错?   io如何在java中复制/拆分输入流?   java使JButton不可见,但尊重其原始空间   java Spring提交表单获取复选框值不起作用