Git Tree Log
A CLion-style git log for VS Code, in the bottom panel next to the terminal:
- branch tree on the left: Local / Remote / Tags,
feature/x names grouped into folders, ahead/behind counts against the upstream, a search field;
- click a branch to show only its history, click it again (or "All branches") to go back; double-click jumps to its tip;
- right-click a branch, a branch badge in the log, or a commit for: Checkout, New Branch, Pull, Push, Merge into Current, Rebase Current onto This, Rename, Delete (asks first; remote delete pushes), Copy Name/Hash;
- several repositories in one workspace (e.g. a folder that is not a repository itself, with repositories in subfolders): the repository button in the panel toolbar picks which one the log shows; the choice is remembered per workspace. Repositories are the ones VS Code's Source Control finds (see
git.repositoryScanMaxDepth for deeper subfolders);
- Fetch All, New Branch, Refresh and Pull in the panel toolbar, plus buttons to hide/show the branch tree and the details pane (double-clicking a splitter hides its pane too);
- search box above the log: matches the full commit message, hash, author/committer name and email, branch and tag names (never diffs). All words must match,
"quoted phrase" is one term, case-insensitive. Searches the whole history (of the selected branch, if one is selected), not only the loaded pages. Matches are highlighted; double-click a result to see it in the full log; Esc clears;
- commit graph of all branches (
git log --all --date-order), with branch, remote and tag badges;
- commit message, author, date and the list of changed files on the right;
- click a file to open its diff against the first parent;
- loads 2000 commits at a time (
gitTreeLog.pageSize), more on scroll;
- refreshes by itself when HEAD or refs change (commit, checkout, fetch).
Keyboard: arrows, PageUp/PageDown, Home/End in the log. Click the hash to copy it.
Tip: "workbench.panel.alignment": "justify" makes the panel span the full window width.
| |