Git开源工具Git fat、Git bigfiles、Git sym、GitSense介绍

以下为你介绍的Git开源工具都可用在Linux系统上:Git fat(Git 文件处理组件)、Git bigfiles(Git 大文件处理组件)、Git sym(Git 文件缓存分离组件)、GitSense(GitSense Insight,Chrome 的 Github 增强插件)。

1、Git fat(Git 文件处理组件)

Git-fat 是 Git 文件处理组件,可以简单的处理一些比较大的文件,而无需提交到Git。同时,Git-fat 也支持 rsync 同步处理。

优点:

使用透明。

缺点:

仅支持rsync的作为后端。

git-fat的功能:

源存储库的克隆小而又快,因为没有二进制文件被传输,但是具有完整的元数据和增量检索功能(git clone --depth具有有限的粒度并将元数据耦合到内容)。

git-fat支持大型二进制文件和传统版本文件的相同工作流程,但在内部分别管理“fat”文件。

git-bisect正常工作,即使二进制文件的版本随时间变化。

选择性控制要放入本地存储的大文件。

本地胖对象存储库可以在多个克隆之间共享,甚至可以由不同的用户共享。

可以轻松支持分布在多个主机上的胖对象存储。

仅取决于库存Python和rsync。

安装与配置:

将git-fat放入您的PATH中。

编辑(或创建).gitattributes以将任何所需的扩展名视为fat文件:

$ cd path-to-your-repository

$ cat >> .gitattributes

*.png filter=fat -crlf

*.jpg filter=fat -crlf

*.gz  filter=fat -crlf

^D

运行git fat init以激活扩展,现在像往常一样添加并提交,匹配的文件将透明地存储在外部,但在工作树中将显示为完整。

通过编辑.gitfat为fat对象设置远程存储:

[rsync]

remote = your.remote-host.org:/share/fat-store

通常应将此文件提交到存储库,以便其他人将自动设置其远程设置,该远程地址可以使用rsync支持的任何协议。

大多数用户会将其配置为在具有共享访问权限的目录中使用远程ssh。为此,请在.gitfat配置文件中设置sshuser和sshport变量。例如,要将rsync与ssh一起使用,并使用默认端口(22)并通过用户“fat”进行身份验证,您的配置应如下所示:

[rsync]

remote = your.remote-host.org:/share/fat-store

sshuser = fat

下载地址:https://github.com/jedbrown/git-fat

2、Git bigfiles(Git 大文件处理组件)

git-bigfile 提供了Python接口,允许用户处理没有存储在Git上的大文件。

优点:

Git 操作可以回滚。

可以设置文件大小的阈值,以限定“大文件”这个概念。

缺点:

存在兼容性问题。

用法:

配置要使用的过滤器或传输:

$ git bigfile config

然后:

(in repo - repeatedly)

$ (hack, stage, commit)

要将任何已提交的大文件推送到服务器:

$ git bigfile push

您还可以通过以下方法检查大文件的状态:

$ git bigfile status

它将显示您正在等待上传的文件以及有多少数据。如果要删除上传的大文件的本地缓存,请运行:

$ git bigfile clear

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

$ git bigfile add <huge_file>

这会将<huge_file>添加到.gitattributes和索引中。

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

$ 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

下载地址:https://github.com/beenje/git-bigfile/

3、Git sym(Git 文件缓存分离组件)

Git sym是一款通过git符号链接的进行大文件处理的软件,其目的是从修订控制中分离出庞大的文件缓存。

特性:

源存储库的克隆小而又快,因为没有二进制文件被传输,但是具有完整的元数据和增量检索功能(git clone --depth具有有限的粒度并将元数据耦合到内容)。

git-bisect可以正常工作,即使二进制文件的版本随时间变化也是如此(如果资源尚未被缓存,我们建议安装一个git-sym-post-checkout-hook。)。

其中大文件上拉的选择性控制到本地存储。

本地fat对象存储库可以在多个克隆之间共享,甚至可以由不同的用户共享。

可以轻松支持分布在多个主机上以及可能在世界任何地方的fat对象存储。

仅取决于现有的Python和简单的UNIX命令。

安装:

您可以在您的$ PATH中通过调用git-sym运行这个git命令。

ln -sf `pwd`/git-sym ~/bin/git-sym

或者,您也可以直接运行:

python git-sym -h

基本用法:

repo用户:

git-sym show

git-sym update

repo所有者:

git-sym link --add my_big_file.gif

git commit -m 'git-sym added'

ls -l my_big_file.gif

或者更明确,利用规则检索:

ln -sf .git_sym/my_big_data.v123.db my_big_data.db

git add my_big_data.db

git commit

cat <<EOF >> git_sym.makefile

my_big_data.v123.db:

wget http://www.somewhere.com/my_big_data.v123.db

EOF

git-sym update

下载地址:https://github.com/cdunn2001/git-sym

4、GitSense(GitSense Insight,Chrome 的 Github 增强插件)

Git开源工具Git fat、Git bigfiles、Git sym、GitSense介绍

GitSense 是一个 Chrome 插件,可以让你在浏览 Github 的时候体验更好。GitSense 可帮助您找到答案。

下载地址:https://github.com/gitsense/insight

注明

以上就是Git开源工具Git fat、Git bigfiles、Git sym、GitSense的介绍内容,这些Git开源工具都能使用在Linux操作系统中。

栏目相关文章