Una porta, nou plataformes.

savesyncsnapshotmirrorprrunnertui+37 more

Un torii és una porta. Aquesta s'alça entre tu i tots els llocs on viu el teu codi: GitHub, GitLab, Gitea, Codeberg, Forgejo, Bitbucket, Sourcehut, Radicle i Azure DevOps. Es travessa amb una comanda, no amb set eines.

 cargo install gitorii --locked   # 0.13.0

El nom diu la feina, no la lampisteria

Cada línia de la dreta fa el que fa la de l'esquerra, contra el mateix repositori i els mateixos objectes. El que canvia és que el nom diu què volies.

files 14 pairs
git add . && git commit -m "msg" torii save -am "msg"
git pull && git push torii sync
git switch -c branch torii branch <name> -c
git fetch torii sync --fetch
git reset --soft HEAD~1 torii save --reset HEAD~1 --reset-mode soft
git rebase -i HEAD~3 torii history rebase HEAD~3 -i
git stash push -u torii snapshot stash -u
git log --oneline --author X torii log --oneline --author X
git show HEAD torii show
git blame src/main.rs torii show src/main.rs --blame
Push to three platforms torii mirror sync
Hunt for exposed secrets torii scan --history
Run status across five repos torii workspace status <name>
Commit every dirty repo at once torii workspace save <name> -am "wip"
↑↓ movetab switch columnenter copy same objects underneath

Quaranta-quatre comandes, i cap és una segona eina

La feina de plataforma, el pla de control de CI, les operacions sobre diversos repositoris i la xarxa de seguretat viuen al mateix binari que el commit i el push. Aquest és l'argument: no menys comandes que git, sinó tot el que un repositori necessita sota un sol nom. Tria un grup a l'esquerra.

commands 44 commands
torii init initialise a repository
torii clone clone by URL or by platform shorthand
torii save stage and commit; amend, revert and reset live here as flags
torii sync pull and push; integrate a branch, choosing merge or rebase
torii status what changed, staged and unstaged
torii diff unstaged, staged, or the last commit
torii log history, with graph, author, date and message filters
torii show a commit, a tag, or a file line by line with --blame
↑↓ moveenter open/ filter 158 subcommands under them

Reescriu la història sense contenir la respiració

Tota la superfície de filter-repo, com a subcomandes de primera classe. Cadascuna pren un snapshot de seguretat abans de tocar cap commit, preserva per defecte les dates d'autor i de committer, i es nega a arrencar amb l'arbre brut.

log torii history

torii history reword <hash> -m "msg"

snapshot taken · dates preserved · restore with torii snapshot restore

↑↓ moveenter previewu undo

T'atura abans de l'error, no després

L'escàner de secrets s'executa abans de cada save, no com un hook que t'has de recordar d'instal·lar a cada màquina.

scan 1 finding

torii save -am "wip"

⚠  Secret detected in src/config.rs:12
   GITHUB_TOKEN = "ghp_xxxxxxxxxxxxxxxxxxxx"

commit aborted (1 finding)
escàner de secrets Claus d'AWS, GitHub, GitLab, Stripe, SendGrid i Twilio, blocs PEM, JWT i cadenes de connexió que porten contrasenya. Escombra tota la història amb --history.
snapshots Desats locals que no són commits, presos abans de cada operació arriscada i restaurables per id.
history orphans Recorre els objectes inabastables, així que la feina que el reflog ja va caducar encara és recuperable.
.toriignore.local Regles privades de la teva màquina, gitignorades automàticament, per a patrons l'existència dels quals ajudaria un atacant.
y commit anywayN aborte edit

Set clients, nou hosts, una comanda

Pull requests, incidències, pipelines, jobs, paquets i releases, contra la plataforma on visqui el repositori. Replica'l a diverses alhora i cadascuna conserva les seves credencials.

remote 9 hosts

torii mirror sync

→ github   paskidev/gitorii   pushed 3 commits

serves GitHub

↑↓ mover switch remotes sync
working tree one .git, one history torii mirror sync gitlab primary · CI runs here github replica · own token codeberg replica · own token one push · one set of refs · a replica that rejects does not roll back the others

La mateixa eina, amb pantalla

Disset vistes sobre les mateixes operacions, compartint una única configuració amb el CLI. Sense aplicació a part i sense dimoni.

tui ? help
↑ ↓ / j k move through the sidebar
tab / enter enter the selected view
esc back to the sidebar
e toggle the event log
? help
q / ctrl+c quit
  • files
  • save
  • sync
  • snapshot
  • log
  • branch
  • tags
  • worktrees
  • submodules
  • remote
  • workspace
  • pr/mr
  • issues
  • bisect
  • auth
  • platform
  • config
q quite event logtab enter view

Les xifres, mesurades

Comandes i subcomandes comptades a la mateixa taula de despatx del CLI; tests comptats a la suïte; versió i descàrregues llegides de crates.io mentre es renderitza aquesta pàgina.

status v0.13.0
44
comandes de primer nivell
158
subcomandes
328
tests a la suïte
0
dependències en temps d'execució
0.13.0
a crates.io
1.351
descàrregues
ctrl+r reload counted 08-08-2026

Quatre maneres d'entrar

Els binaris ja construïts no necessiten compilador. Compilar des del codi font necessita un compilador de C i res més — sense perl, sense openssl-dev, sense libssh2-dev, sense pkg-config.

install v0.13.0

cargo install gitorii --locked # 0.13.0

--locked matters: without it the resolver ignores the published lockfile and can pull a broken release-candidate crypto chain.

enter copyesc back no runtime dependencies

Si cargo install mor amb un SIGSEGV de rustc, la cadena de cripto ha desbordat la pila de 8 MB de rustc. Es resol amb RUST_MIN_STACK=67108864 cargo install gitorii --locked -j 1; el -j 1 és el que sempre funciona.