#mix #git #clean #smudge

bin+lib git-mix

使用 AES-256-ECB 模式混合 git 数据

6 个版本

使用旧的 Rust 2015

0.1.5 2017 年 8 月 1 日
0.1.4 2017 年 8 月 1 日
0.1.2 2017 年 7 月 31 日

#1334密码学

每月 22 次下载

自定义许可

41KB
217

git-mix

Build Status Release

git-mix 受启发于 git-crypt,但使用 rust 实现。

工作原理

基于 Git 属性。使用“clean”和“smudge”过滤器,我们可以在检出和暂存之前为特定路径设置过滤器,如下所示

clean smudge

如何安装

感谢 cargo :)

cargo install git-mix

使用

初始化

  1. 编辑 .gitattributes 以设置要混合的路径,如下所示
private/* filter=git-mix
.gitattributes !filter
  1. 运行 git-mix gen 以生成定义过滤器的配置 git-mix
[filter "git-mix"]
    clean = git-mix encrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
    smudge = git-mix decrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
  1. 将模板追加到 .git/config

  2. 记住密钥,或者您可以使用 git-mix genkey 或自行生成需要 32 字节的密钥

  3. 提交私有数据并将远程推送到检出混合数据:)

克隆

  1. git clone -n giturl
  2. 运行 git-mix gen --key <key> 以生成过滤器模板
 git-mix gen --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb                       127ms
[filter "git-mix"]
    clean = git-mix encrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
    smudge = git-mix decrypt --key BiqdSyKwmnIFDKg1LzXIg5eEM3RWbdUb
  1. 将模板追加到 .git/config
  2. git reset --hard HEAD
  3. 检查私有数据:)

贡献

要为 git-mix 贡献,请在本地克隆此存储库,并在单独的分支上提交您的代码。

PS:PR 欢迎使用 🚀 🚀 🚀 🚀

作者

GitHub @detailyang

许可

git-mix 在 MIT 许可下发布。

依赖关系

~5MB
~64K SLoC