Got
Like Git, but with an 'o'
Got is version control, with a model similar to Git's, extending ideas from WebFS.
Got uses INET256 to easily and securely connect repositories.
CLI Docs
ARCHITECTURE.md
Features/Roadmap
- E2E encryption. Branch names, directory names, file names, and file sizes can all be hidden from remote repositories.
- Stage changes with
add, rm, put, and discard commands.
- Inspect branch state with
cat and ls.
- Print and change the active branch with
active command.
- Commit changes, with
commit.
- Create, delete, and list branches with
branch commands.
- Copy one branch state to another with
sync.
- Share repositories over INET256 using
serve command.
- Branch level access control using ACL defined in a
.got/policy file.
- Checkout the head of a branch to the working directory.
- Merge 2 branches.
Getting Started
Either download a prebuilt binary or build one from source.
Then initialize a repository in the current working directory.
Make sure you cd to where you want the repository.
$ got init
Contributing
To run the tests:
$ make test
Installs to $GOPATH/bin with make.
If that isn't on your path, just copy the executable from there to wherever you want.
$ make install
To build release binaries
TAG=v0.0.x make build
Where TAG is an environment variable which should be set to the release version, or the Git hash of the source used for the build.
The release binaries will be under the build directory.
More
Read more about the configuration objects in docs/config.md.