◈ ProjView
← todos os projetos

gitview

Python TUIs ★ destaque GitHub ↗

TUI estilo dockview para git/github: stage, branches, repos, history, PRs e navegação de arquivos do PC.

3 testes · 3 passou · 0 falhou · 0 skip

Entrypoints (CLI)

Módulos e funções principais

src/gitview/__init__.py
src/gitview/cli.py
  • main()
src/gitview/gitlib.py
  • is_repo()
  • current_branch()
  • current_remote()
  • default_branch()
  • status() — Retorna arquivos do working tree (inclui não rastreados).
  • stage()
  • unstage()
  • discard()
src/gitview/theme.py
src/gitview/tui.py

Estrutura de arquivos

README

# gitview TUI interativa para git/github, no estilo do **dockview** — navegável por teclado, com abas para tudo que você faz no dia a dia com versionamento. ## Funcionalidades - **Stage**: lista arquivos do working tree, marca com `space` o que vai subir, faz commit e push sem sair da TUI. - **Files**: navega o seu PC com uma árvore de diretórios; selecione um arquivo ou pasta e aperte `a` para copiá-lo para o repo (já fazendo o stage). Ótimo para puxar qualquer coisa do computador pro projeto. - **Branches**: lista, cria, troca e apaga branches locais. - **Repos**: lista seus repositórios no GitHub (`gh repo list`), cria novos (`gh repo create`) e apaga (com confirmação — irreversível). - **Repos (avançado)**: `A` cria um repo novo no GitHub **a partir de uma pasta do seu PC** — inicializa git, commit inicial e push automáticos. - **History**: log de commits locais com marcação do que já foi pusheado. - **PRs**: lista e cria Pull Requests (`gh pr list` / `gh pr create`). ## Atalhos | Tecla | Ação | |-------|------| | `tab` / `shift+tab` | trocar aba | | `r` | atualizar | | `space` | stage/unstage (aba Stage) | | `c` | commit | | `p` | push | | `n` | nova branch | | `b` | trocar branch | | `d` | apagar branch | | `N` | novo repo (GitHub) | | `D` | apagar repo (GitHub) | | `a` | adicionar arquivo/pasta selecionado (aba Files) ao repo | | `A` | novo repo a partir de uma pasta do PC | | `P` | novo PR | | `q` | sair | ## Instalação ```bash python3 -m venv .venv && . .venv/bin/activate pip install -e . ``` Dependências: `textual>=8.2`. Requer `git` e `gh` (CLI do GitHub) autenticado para as abas Repos/PRs. ## Uso ```bash gitview # abre no repo do diretório atual gitview /caminho/repo # abre um repo específico ``` ## ⚠️ Aviso ético Ferramenta de uso pessoal/educacional para gerenciar **seus próprios** repositórios e commits. A ação de **apagar repositórios** é irreversível e exige confirmação explícita na tela. Use com responsabilidade. ## Licença MIT
gitview SIM NÃO SIM NÃO SIM NÃO Abrir gitview (repo) Tabs: Stage/Files/Branches/Repos/History/PRs Aba Stage + space? git add (stage) selecionados Commit + push? git commit + git push (upstream) Aba Files + 'a'? Copiar arquivo do PC p/ repo (stage) Repo sincronizado

Como rodar na prática (entrada → saída):

$ gitview ~/projects/meu-repo
  [GitView] repo: meu-repo\n  Tab Stage: space marca, 'c' commit, 'p' push\n  Tab Files: 'a' copia arquivo do PC
$ gitview (aba Files, 'a' em /home/diogo/docs/relatorio.pdf)
adicionado ao repo: relatorio.pdf (staged)