A SMALLER, FASTER, WAY TO WORK WITH BIG REPOS
Only check out
what you need.
Check out just what you need, save space and time, with normal commits and pushes.
you@machine:~$ got checkout https://github.com/acme/mono.git apps/api
01 / QUICK START
Start with one command
Install got
brew install cloudless-ai/tap/got
curl -fsSL https://github.com/cloudless-ai/got/releases/latest/download/install.sh | sh
winget install CloudlessAI.Got
Check out a repository
Check out a repository, either the whole tree or an optional folder.
got checkout https://github.com/acme/mono.git apps/api
got checkout https://github.com/acme/mono.git
Choose a branch or revision
Use --branch, --revision, or --directory to choose a different base or destination.
got checkout acme/mono
got checkout acme/mono apps/api --branch main --revision <commit>
Use standard Git commands with got to commit and push
got commit -m "Update API"
got push
02 / CLI REFERENCE
Git stays Git
got status, got add, and got commit call through to Git. got push passes explicit arguments through; a bare push publishes the current work branch and sets its upstream on first push.
Run got --version to check the installed version, got --help for the overview, got checkout --help for checkout options, or got help push for push behavior.
got checkout <remote> [<path>] \
[--branch <branch>] \
[--revision <commit>] \
[--directory <destination>]
got status [git options]
got add <pathspec>...
got commit [git options]
got push [git arguments...]
03 / GITHUB ACTIONS
Fast by default in CI
Speed up your actions with a fast checkout of the entire repo, or only the folders you need.
permissions:
contents: read
steps:
- uses: cloudless-ai/got@v0.3.0
with:
path: apps/api
# Omit path to check out the entire repository
# additional-paths: |
# .github
# shared/build
04 / BENCHMARKING
Git vs. got
We benchmarked Git vs. got for LLVM.
got / full tree
1m 01s
got / clang
29s
got / full tree
2.4G
got / clang
479M
05 / FAQ
Frequently asked questions
How does this work?
got wraps the sparse checkout feature of git to keep size down and speed up
So it's just a wrapper around existing git functionality?
Yes