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第三方库


热门话题
java关闭应用程序按钮Listener   Java中的多线程同步在Java示例中的思考   java如何查看Tomcat正在使用/访问的JAR?   java My代码在调用垃圾收集器后不会终止   多线程Java连接线程池和connectionfactory?   java在运行时修改JAR文件   java Android:使用光标时引发IllegaleException   在Netbeans中测试不可执行库的java?   泛型在参数上强制子类Java类型   spring Java:继承与依赖注入“自动连线”   javascript如何解析这个xml元素   java打印特定序列中的数组   带有ProcessingTimeSessionWindow的java Apache Flink自定义触发器   java如何配置消息驱动的Bean应用程序和Glassfish来使用来自远程MessageBroker的消息?