gotvc/got
GitHub: gotvc/got
Got 是一款类似 Git 的版本控制工具,支持任意大小文件和目录的存储管理,并内置端到端加密。
Stars: 166 | Forks: 5
# Got
就像 Git,但带个 'o'
Got 是一款版本控制工具,其模型类似于 Git。
它旨在解决使用 Git 存储所有数据时带来的问题。
Got 使用了改进的数据结构,能够更好地处理大型文件和目录,并且会对您提供给它的所有数据进行加密。
## 快速链接
- [文档](./doc/0_Got.md)
- [CLI 参考](./doc/3.0_CLI.md)
- [GotFS](./src/gotfs/README.md)
- [GotKV](./src/gotkv/README.md)
## 快速入门
### 安装
您可以直接下载预编译的二进制文件,或者从源码自行构建。
只需使用以下命令即可安装到 `/usr/bin/got`。
```
$ just install
```
这会为当前架构构建 Got,并将生成的二进制文件留在 `build/out/got` 目录中。
### 创建新仓库
接着,在当前工作目录中初始化一个仓库。
请确保您已经 `cd` 到了希望存放仓库的位置。
```
$ got init
```
这将会使用一个进程内的 blobcache 创建一个新仓库。
所有内容都将存储在 `.got/blobcache` 目录中。
仓库在初始配置时,也可以根据环境变量设置为使用外部 Blobcache。
此命令将初始化一个 Repo,它会通过访问 `BLOBCACHE_API` 来寻找 Blobcache 服务。
```
$ got init --blobcache env-client --mkvol my_new_got_repo_volume
```
## Got 实战
Got 正在导入一个 3GB 的文件。
```
$ got add large_file.dat
[1.608s]
[1.564s] large_file.dat data_in=(1.24GB Δ=799.35MB/s)
[1.564s] worker-0 blobs_in=(182blobs Δ=117.26blobs/s), data_in=(157.09MB Δ=101.21MB/s)
[1.564s] worker-1 blobs_in=(197blobs Δ=127.43blobs/s), data_in=(158.19MB Δ=102.33MB/s)
[1.564s] worker-2 blobs_in=(181blobs Δ=116.50blobs/s), data_in=(154.83MB Δ=99.66MB/s)
[1.564s] worker-3 blobs_in=(172blobs Δ=112.63blobs/s), data_in=(154.01MB Δ=100.85MB/s)
[1.564s] worker-4 blobs_in=(179blobs Δ=116.82blobs/s), data_in=(157.34MB Δ=102.68MB/s)
[1.564s] worker-5 blobs_in=(177blobs Δ=115.36blobs/s), data_in=(156.12MB Δ=101.75MB/s)
[1.564s] worker-6 blobs_in=(199blobs Δ=130.09blobs/s), data_in=(155.20MB Δ=101.46MB/s)
[1.564s] worker-7 blobs_in=(161blobs Δ=104.50blobs/s), data_in=(150.69MB Δ=97.81MB/s)
```
## 更多
阅读更多关于[概念](./doc/2
.0_Concepts.md)的内容。
支持与开发相关的讨论在 INET256 discord 中进行。
[
](https://discord.gg/TWy6aVWJ7f)
[](https://matrix.to/#/#inet256:inet256.org)
标签:EVTX分析, 大文件处理, 安全可观测性, 数据管理, 文件存储, 文档结构分析, 日志审计, 版本控制, 端到端加密