# grebe grebe is a history browser for git repositories, a replacement for gitk. These are the words its code, its documentation and its configuration use for the things in it. ## What is browsed **Revision arguments**: What grebe is started with — `--all`, `main..topic`, `-- src/` — which choose the commits shown, and which mean exactly what they mean to `git log`. _Avoid_: rev-list args, filter **History**: The commits the revision arguments choose, in the order they are shown. _Avoid_: log, graph (which is the drawing of it) ## What a user sees **Graph**: The drawing of commits and their ancestry beside the commit list, one row per commit. **Commit list**: The commits being browsed, one row each, with columns for the subject, the author and the date. **Row**: One commit's line across the graph and the commit list. **Lane**: A vertical track in the graph that a line of descent occupies. _Avoid_: column (which is the commit list's), track **Edge**: The line in the graph from a commit to one of its parents. **Selected commit**: The commit whose details and diff are being shown. _Avoid_: current commit (easily confused with `HEAD`) **Pseudo-commit**: A row above `HEAD` standing for changes not yet committed: one for those in the working tree, one for those in the index. _Avoid_: fake commit **Marked commit**: A commit set aside so that another can be compared with it. There is at most one. **Diff**: What the selected commit changes, file by file; for a merge, only what the merge did that none of its parents did. _Avoid_: patch **Find**: What the find bar looks for: commits containing some text, touching some paths, adding or removing a string, or changing lines that match. _Avoid_: search, filter (which hides what does not match; a find hides nothing) **Match**: A commit the find found, lit in the commit list. _Avoid_: hit, result **Details**: The selected commit's metadata and message, shown above its diff. **File list**: The files the selected commit changes, beside its details and diff. **Branch checked out**: The branch `HEAD` names, whose label has the heavier border; what a reset moves. With `HEAD` detached there is none, and a reset moves `HEAD`. _Avoid_: current branch (easily confused with the selected commit's) **Dialog**: A question over the window that has to be answered, or dismissed with Escape, before anything behind it can be used: asked before grebe changes a branch.