Git
Optional version control: the commit bar at the bottom of the workspace, pull and push, and turning git on for a plain folder.
Git is optional. A plain folder works, and the app treats it like any other. When the library folder is a git repository, a bar at the bottom of the workspace shows the branch and the changes and lets you commit, pull and push without leaving the app.

The bar#
| Item | Meaning |
|---|---|
| Branch button | The current branch. Click to expand the list of changed files, or the last commit when the tree is clean. |
| N changed | Files that differ from the last commit, untracked ones included. |
| ↑ N, ↓ N | Commits ahead of and behind the upstream branch. |
| Note | Why a button is off: No upstream branch, Commit first, then pull, Nothing to pull, Commit first, then push, Nothing to push. |
| Pull | git pull --rebase from the upstream branch. |
| Push | git push to the upstream branch. |
| What changed? and Commit all | Stages every change and commits it with that message. ↩ in the field commits too. |
A failed fetch shows Fetch failed with the error in red; the rest of the bar keeps working offline.
Toasts confirm each action: the commit hash, Pushed, Pulled, or the failure with git's message.
When it refreshes#
The bar reads the status when the workspace appears (with a fetch), after every change the app makes or notices (without a fetch), and every five minutes (with a fetch). After a pull the file list is read again, so decks that arrived with it show up at once.
Turn git on for a plain folder#
Settings › Library › Track changes with git runs git init in the library folder. The button only appears while the open library is not a repository. Nothing is committed for you; use the bar for that.
Renames and moves#
Editing a course's folder name moves the folder with git mv when the folder is tracked, so history follows. Removing a source deletes the file from the working tree; git can bring it back.
What the assistant does not do#
The assistant has no git tools. It reads and writes files inside the library; committing them is yours. The .git folder itself is off limits to it.
Remotes#
When the repository has a web remote (GitHub, GitLab, Bitbucket or any https remote), the course screen shows a GitHub or Repository chip that opens it in the browser. Authentication for push and pull is whatever your shell git uses: an SSH key, a credential helper, or a token in the remote URL. The app does not store git credentials.