Git over HTTPS
BeanHub speaks Git Smart HTTP. If git clone works against GitHub over HTTPS, it works here. There is no SSH remote (the clone dropdown says coming soon).
Remote URL
Section titled “Remote URL”https://app.beanhub.io/repos/<username>/<repo>.gitCopy it from the book Clone button. Connect-only repositories do not host Git; they have no clone URL.
Credentials
Section titled “Credentials”Git uses HTTP Basic. The password is an access token, not your account password. The username can be your BeanHub username. Create the token under Access tokens with Git HTTP Read and write (or Grant All).
Older BeanHub accounts could clone with the account password. Use a token now so you can revoke it without changing the password.
git clone "https://USERNAME:${BEANHUB_TOKEN}@app.beanhub.io/repos/USERNAME/REPO.git"cd REPOPutting the token in the remote URL leaks it into .git/config and shell history. After the first clone:
git remote set-url origin "https://app.beanhub.io/repos/USERNAME/REPO.git"Use a credential helper for later fetches.
printf '%s\n' '#!/bin/sh' 'echo "$BEANHUB_TOKEN"' > /tmp/bh-askpasschmod 700 /tmp/bh-askpassGIT_ASKPASS=/tmp/bh-askpass git clone https://app.beanhub.io/repos/USERNAME/REPO.gitpip install "beanhub-cli>=3.0.0"bh loginThe CLI opens a grant page. Compare the code, then create the token. After that, use Git as usual with the stored token as documented in CLI login.
First push to an empty book
Section titled “First push to an empty book”git clone https://app.beanhub.io/repos/USERNAME/REPO.gitcd REPO# add main.bean and includesgit add .git -c user.email="you@example.com" -c user.name="You" commit -m "Initial book"git push -u origin masterThe empty-book help text uses master. If you prefer main, push that branch from an empty repo as your first branch.
What a push must satisfy
Section titled “What a push must satisfy”main.beanexists at the repository root.includepaths resolve.- Beancount loads the book without error. BeanHub checks
main.beanin a sandbox before it accepts the push. - Private free books stay under 1,000 entries. Paid and public books: 100,000. Over quota, the website shows a quota page instead of applying the change.
If Git prints a Beancount error, fix the files and push again. You cannot skip that check.
After you push
Section titled “After you push”Refresh the website. Journal and reports update from the new commit. Import matching runs when .beanhub/imports.yaml is present.