Git-JSON-Tree.
项目描述
将JSON文件编码和解码为Git树对象。
这是一个实验性的开发者预览版本。
安装
最新版本可在PyPI上找到,并可以使用pip进行安装
$ pip install git-json-tree
开发版本可以直接从Git仓库安装
$ pip install -e git+https://github.com/jirikuncar/git-json-tree.git#egg=git-json-tree
与Git集成
将JSON文件移动到您希望存储它们的存储库中,并在以下文件中添加以下行
.git/config
[filter "git-json-tree"]
smudge = "git-json-tree smudge"
clean = "git-json-tree clean"
required # optional
.gitattributes
*.json filter=git-json-tree
指针文件格式
Git-JSON-Tree的指针文件如下所示
version https://github.com/jirikuncar/git-json-tree/tree/v1
oid sha1:2f769492d6b634b86b82e916630da8a693e9c20e
size 12345
它跟踪您正在使用的Git-JSON-Tree版本,后面是JSON文件的唯一标识符(oid)。它还存储目标JSON文件的大小。
- 注意:
size是从编码后的JSON字符串计算得出的,可能因序列化程序版本不同而不同。
使用命令行
与存储的交互也可以通过命令行界面(CLI)进行。
首先,您需要确保您在一个Git仓库中或知道其位置。以下示例显示了您在一个Git仓库目录中的情况。
$ echo '{"hello": "world", "version": 1}' | git-json-tree encode
7123db01ad8c75a8df3508305bd891317ea36feb
按照上述示例,您可以为您的JSON对象创建第一个提交。
$ export FIRST=$(git commit-tree 7123db01 -m First)
记住树或commit sha1非常不切实际,因此我们可以给它一个参考名称。接下来的步骤使用名称 master,但你也可以决定使用自己的命名约定来跟踪对象的版本。每个文件都可以有自己的分支或只是一个单一的标签。
$ git update-ref refs/heads/master $FIRST # for new object
存储新版本也非常简单。
$ export PARENT=$(git show-ref --hash refs/heads/master)
$ echo '{"hello": "world", "version": 2}' | git-json-tree encode
6f36c4272e88b14ab5e25a5419599534504c70fc
$ export SECOND=$(git commit-tree 6f36c4272e -m Second -p $PARENT)
$ git update-ref refs/heads/master $SECOND
最后,您可以检索和解码一个树或提交。
$ git-json-tree decode # HEAD
$ git-json-tree decode $FIRST # commit
$ git-json-tree decode 7123db01 # tree id
项目详情
下载文件
下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分发
git-json-tree-0.1.0.dev20180216.tar.gz (30.9 kB 查看哈希值)
构建分发
关闭
哈希值 for git_json_tree-0.1.0.dev20180216-py2.py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97e56a1a54c1dd805352cf9408bafa0ea51447ee7aa777e3bb9abd089ef59bbc |
|
MD5 | 3802a3fd0f5d4fe262a7f46f894a478b |
|
BLAKE2b-256 | 4dbbaf8d9a2bd1b91776ce368a35ebf3280097d4699029d909d8669e3ec027b8 |