Repository navigation
Workflows git
See Git Configuration for aliases, pretty formats, and diff viewers (delta + difftastic). See Shell Environment § Git shell aliases for the full alias table with completions.
For rarely used commands and anything requiring a code review, interactive tools work best.
-
gg(git-gui) — review files before commit, create a commit, create a branch. -
gk(gitk --all) — project commit history, branches, tags. Individual file/folder commit history. -
lzg(lazygit) — TUI alternative, similar togit-guibut in a terminal. -
git ls— CLI commit log with tags and branches. CLI counterpart togk.
All three GUI/TUI tools are installed by this project by default.
Day-to-day feature-branch work uses a small set of shell aliases (gcob, gpush, gpull, gsw, gme, gst). Each wraps a git command with colored output and tab-completable branch names — see the alias table for details.
Typical feature-branch lifecycle:
# create a feature branch and switch to it
gcob feature-branch
# work on code, review changes with gg or lzg, commit
gpush
# switch back to the main branch and update it
gsw
gpull
# switch back to the feature branch (name is tab-completable)
gsw feature-branch
# merge the latest main into the feature branch
gme
gpush
# when the feature is ready, merge it back to main
gsw
gme feature-branch
gpush
# optionally tag the release
git tag 1.2.3
gpush --tagsgbr wraps git branch with tab completion. git br is an enhanced branch inspector that shows subject, date, and author.
# list local branches
gbr
# list with enhanced formatting (subject, date, author)
git br
# list all branches (local + remote) with enhanced formatting
git br -a
# delete a merged branch (tab-completable)
gbr -d feature-branch
# force-delete an unmerged branch
gbr -D experiment
# rename a branch
gbr -m old-name new-nameFor more branch views see Git Configuration § Custom git commands: git brr (remote branches by date), git bs (tabular format), git mbs (your branches only).
Many projects in this setup include associated GitHub wikis or other repositories as submodules. Two helpers keep them in sync:
| Alias | Description |
|---|---|
gpurr |
Pull the current repo and all its submodules, then check out and pull the main branch in each submodule. |
gpwiki |
Same as gpurr, but limited to submodules in directories called wiki or external_wiki. |
Initial setup
General information
- Shell Environment
- Git Configuration
- Application Notes
- Remote GUI
- Utilities
- Playbash Server Management
Day-to-day operations