GitPanda for git users
How gitpanda's commands map to git's, and what's different.
If you know git, you know most of gitpanda. The commands, flags and output are modeled on git's.
And if you don't, you don't need to: gitpanda save "…", gitpanda get, or just say what you want.
For the bigger picture, see GitPanda vs GitHub.
Side by side#
| git | gitpanda | Difference |
|---|---|---|
git clone <url> |
gitpanda clone <repo> |
Use the repository's name from gitpanda repos. |
git status |
gitpanda status |
Also lists read-only files you changed. |
git diff, --staged |
same | Unified diffs. |
git add <path>, ., -A |
same | Only Markdown under docs/ or <room>/docs/. |
git reset <path> |
same | Only unstages; no --hard. |
git restore <path>, --staged |
same | |
git commit -m, -a, -am |
same | Without -m, the AI writes the message. |
git push, --force |
same | Each document gets a new version. --force overwrites changes made since your pull. |
git pull |
same | Never merges inside a file: conflicts are saved as <file>.theirs. |
git fetch |
same | Counts what's new; the prompt shows ↓n. |
git log, --oneline, -n, <path> |
same | 🐼 marks AI employees. |
git show <sha> |
same | Also show <file> and show G-12 (a goal). |
git branch |
same | Always main. |
git remote -v |
same | |
git checkout, switch |
explains | There's one branch. |
git init |
explains | Repositories come from OkayPanda. |
| (none) | sync -m |
add + commit + pull + push. |
| (none) | ask "…", search, review, edit, explain, recap |
AI in your repository. |
| (none) | ask, goal, watch, say, approve, code |
Your AI team. |
What's different, and why#
- One line of history. A company has one true state, so there's one branch,
main. Commits you haven't pushed are your work in progress. - Documents, not arbitrary files. You can send back Markdown documents. READMEs are rewritten by the team from real work; files and images are made by employees; so those are read only.
- Versions, not snapshots. A push adds a version to each document you changed. Every earlier version stays in the app.
- No deletes or renames over the wire. Deleting locally does nothing remotely; rename a document by
changing its first
# Heading. - No merge machinery. Conflicts are resolved by hand from
<file>.theirs, or with--force. - Your commit messages are the history. They appear in the app next to each version.
Using git too#
A clone is an ordinary folder, so you can git init in it to keep your own local history, diff with
your favorite tools, or sync it somewhere else. Add .gitpanda/ and *.theirs to .gitignore.
gitpanda ignores .git/.