gitdeck is a dependency-free terminal UI for managing multiple Git repositories under a single directory, offering bulk and per-repo operations like status, pull, push, commit, fetch, and custom commands.

Stars

21

7-day growth

No data

Forks

2

Open issues

0

License

MIT

Last updated

2026-07-12

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It provides a lightweight, keyboard-driven interface for batch Git operations across many repositories without external dependencies, ideal for developers juggling multiple projects.

Who it is for

  • Developers managing multiple Git repositories
  • System administrators overseeing many Git-based projects
  • CI/CD engineers needing quick bulk Git operations
  • Anyone who frequently works with a folder of independent Git repos

Use cases

  • Bulk-pull all repositories in a projects folder before starting work
  • Quickly check the dirty/clean status of multiple repos at a glance
  • Stage and commit changes across several repos with a single key sequence
  • Run ad-hoc Git commands (e.g., diff, log) on selected repos without leaving the terminal

Strengths

  • Zero external dependencies – only requires Python and Git
  • Highly customizable keybindings and colors via a config file
  • Supports bulk actions (pull all, push all, commit all dirty repos) and per-repo granularity
  • Clear status legend with color-coded rows and detailed counters for staged/modified/conflicted files

Considerations

  • Nested repositories (e.g., submodules) are deliberately skipped, requiring a narrower root to include them
  • Remote reachability is only checked on demand (n/N keys), not automatically
  • Commit commands always stage all changes with git add -A, which may not suit workflows requiring selective staging

README quick start

gitdeck

gitdeck is a dependency-free terminal UI for managing multiple Git repositories under a folder.

It scans a root directory, lists every Git working tree it finds, and lets you refresh status, check remotes, pull, push, commit, fetch, and inspect status/logs for one repository or all repositories.

Run

Recommended from a checkout:

uv run gitdeck /path/to/projects

For example:

uv run gitdeck ~/git

You can also run the module directly:

python -m gitdeck /path/to/projects

From a checkout:

PYTHONPATH=src python -m gitdeck ~/git

Or install it locally:

python -m pip install -e .
gitdeck ~/git

Keys

KeyAction
qQuit
j / DownMove selection down
k / UpMove selection up
gJump to first repository
GJump to last repository
rRefresh status for all repositories
nCheck selected repository remote reachability
NCheck all repository remotes
sShow git status --short --branch for selected repository
:Run a custom Git command in the selected repository
Enter / vView changed files for selected repository
iCreate or edit selected repository .gitignore
lShow recent commits for selected repository
fFetch selected repository
FFetch all repositories
pPull selected repository
PPull all repositories
uPush selected repository
UPush all repositories
cCommit selected repository with git add -A; press p on the result screen to push
CCommit all dirty repositories with git add -A; press p on the result screen to push successful commits
?Show help

File View Keys

Press Enter on a repository to inspect its changed files. v also works.

KeyAction
j / DownMove selection down
k / UpMove selection up
gJump to first file
GJump to last file
Space / aStage selected file
AStage all files in the repository immediately
xUnstage selected file
XUnstage all files in the repository
cCommit this repository with git add -A; press p on the result screen to push
pPull this repository
uPush this repository
:Run a custom Git command in this repository
b /

Description

Gitdeck is a terminal UI for managing multiple Git repositories under one folder. It scans a workspace, shows each repo’s status, and lets you pull, push, commit, inspect changes and check remotes from one keyboard-driven interface.

Related repositories

Similar projects matched by category, topics, and programming language.

jamesob
Featured
jamesob GitHub avatar

local-llm

A comprehensive guide for building and configuring a high-end local machine to run state-of-the-art LLMs, with detailed hardware choices, BIOS tuning, and Docker-based model serving.

AI & Machine LearningLarge Language Models
1,660
0xwilliamortiz
Featured
0xwilliamortiz GitHub avatar

openclaude-improved

OpenClaude is an open-source CLI coding agent that runs on any platform and supports a wide range of LLM providers, offering the same tools and workflows as Claude Code.

AI & Machine LearningLarge Language Models
577
l0ng-ai
Featured
l0ng-ai GitHub avatar

tty7

tty7 is a fast, GPU-accelerated terminal workbench with persistent sessions, built-in input tools, SSH support, and coding agent awareness.

Developer ToolsCLI & Terminal
359