{"id":23344380,"url":"https://github.com/rec/gitz","last_synced_at":"2026-03-17T19:24:43.977Z","repository":{"id":57434879,"uuid":"191400851","full_name":"rec/gitz","owner":"rec","description":"🗜 Tiny useful git commands, some dangerous 🗜","archived":false,"fork":false,"pushed_at":"2026-01-30T15:55:01.000Z","size":9538,"stargazers_count":37,"open_issues_count":38,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-31T08:52:04.690Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rec.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG","contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"rec"}},"created_at":"2019-06-11T15:31:56.000Z","updated_at":"2026-01-30T15:55:05.000Z","dependencies_parsed_at":"2023-02-18T18:01:17.838Z","dependency_job_id":"7dd6f120-6914-451c-aacf-b3ac69fea0d6","html_url":"https://github.com/rec/gitz","commit_stats":{"total_commits":721,"total_committers":4,"mean_commits":180.25,"dds":0.004160887656033285,"last_synced_commit":"716b98f830ceaca293996c9a9169b96370c0742c"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"purl":"pkg:github/rec/gitz","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec%2Fgitz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec%2Fgitz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec%2Fgitz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec%2Fgitz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rec","download_url":"https://codeload.github.com/rec/gitz/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rec%2Fgitz/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30629212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-17T17:32:55.572Z","status":"ssl_error","status_checked_at":"2026-03-17T17:32:38.732Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-21T06:26:29.006Z","updated_at":"2026-03-17T19:24:43.942Z","avatar_url":"https://github.com/rec.png","language":"Python","funding_links":["https://github.com/sponsors/rec"],"categories":[],"sub_categories":[],"readme":"🗜 gitz - git commands for rapid development 🗜\n------------------------------------------------------\n\nThis is a collection of seventeen git utilities aimed at people doing rapid\ndevelopment using Git.\n\nGitz is for two types of users - quality-obsessed individuals who relentlessly\nmanicure their pull requests until every byte is in the right place; and\nultra-rapid developers who want to generate large features quickly while taking\nadvantage of continuous integration.\n\nMost of these utilities only exist here, one came from a chat on Reddit and\nI don't know where one of them came from.\n\nFour of them are written in Bash, the rest use Python 3.  They have been tested\non Mac OS/X (Darwin) and on Ubuntu, and will likely work on any Unix-like\noperating system.\n\nHow to install\n==============\n\nUse `pip \u003chttps://pypi.org/project/pip/\u003e`_:\n\n.. code-block:: bash\n\n    pip3 install gitz\n\nOr simply download\n`this directory \u003chttps://github.com/rec/gitz/zipball/master/\u003e`_\nand make sure it's in your shell's ``PATH`` - gitz has no\nexternal dependencies.\n\n\nGetting help\n============\n\nThis page contains a summary and a link to a manual page for each command.  From\nthe terminal, use ``-h`` flag like this: ``git new -h`` or use ``man`` like\nthis: ``man git-new``.\n\n\nWhen to use gitz\n=================\n\n1. At the start of a session\n\n   - ``git new`` safely creates fresh branches from upstream\n\n   - ``git update`` for each branch, rebases from upstream and force-pushes\n\n2. During development\n\n   - ``git st`` is a more compact and prettier ``git status``\n\n   - ``git when`` shows you when documents were last changed\n\n3. During rapid development\n\n   - ``git infer`` commits files with an automatically generated message -\n     great for committing tiny changes for later rebasing down\n\n4. While cleaning up a branch for review\n\n   - ``git permute`` permutes, squashes or removes commits in the current branch\n\n   - ``git split`` split one or more commits, perhaps with the staging area,\n     into many small individual commits, one per file\n\n5. During repository maintenance\n\n   - ``git rotate`` rotates through all branches\n\n   - ``git copy``, ``git delete``,  and ``git rename`` work on both local\n     and upstream branches\n\n6. Working with continuous integration\n\n   - ``git stripe`` pushes a sequence of commits to individual remote branches\n     where CI can find and test them\n\nThe movie\n==========\n\n.. figure:: https://asciinema.org/a/XwakAaMsMzKg4hIAJa18iiNac.png\n    :target: https://asciinema.org/a/XwakAaMsMzKg4hIAJa18iiNac?autoplay=1\u0026theme=solarized-light\u0026loop=1\n    :align: center\n    :alt: The whole gitz movie\n    :width: 430\n    :height: 402\n\nThe gitz commands\n-----------------\n\n\nSafe commands\n=============\n\nInformational commands that don't change your repository\n\n`git gitz \u003cdoc/git-gitz.rst\u003e`_\n  Print information about the gitz git commands\n\n`git go \u003cdoc/git-go.rst\u003e`_\n  Open a browser page for the current repo\n\n`git infer \u003cdoc/git-infer.rst\u003e`_\n  Commit changes with an automatically generated message\n  \n  (from https://github.com/moondewio/git-infer)\n\n`git multi-pick \u003cdoc/git-multi-pick.rst\u003e`_\n  Cherry-pick multiple commits, with an optional squash\n\n`git new \u003cdoc/git-new.rst\u003e`_\n  Create and push new branches\n\n`git rot \u003cdoc/git-rot.rst\u003e`_\n  Rotate through branches in a Git repository\n\n`git st \u003cdoc/git-st.rst\u003e`_\n  Colorful, compact git status\n\n`git stripe \u003cdoc/git-stripe.rst\u003e`_\n  Push a sequence of commit IDs to a remote repository\n\n`git when \u003cdoc/git-when.rst\u003e`_\n  For each file, show the most recent commit that changed it.\n  \n  Dotfiles are ignored by default.\n\nDangerous commands that delete, rename or overwrite branches\n============================================================\n\n`git copy \u003cdoc/git-copy.rst\u003e`_\n  Copy a git branch locally and remotely\n\n`git delete \u003cdoc/git-delete.rst\u003e`_\n  Delete one or more branches locally and remotely\n\n`git rename \u003cdoc/git-rename.rst\u003e`_\n  Rename a git branch locally and remotely\n\nBy default, the branches ``develop`` and ``master`` are protected -\nthey are not allowed to be copied to, renamed, or deleted.\n\nYou can configure this in three ways:\n\n- setting the ``--all/-a`` flag ignore protected branches entirely\n\n- setting the environment variable ``GITZ_PROTECTED_BRANCHES`` overrides these\n  defaults\n\n- setting a value for the keys ``PROTECTED_BRANCHES`` in the file\n  .gitz.json in the top directory of your Git project has the same effect\n\nDangerous commands that rewrite history\n=======================================\n\nSlice, dice, shuffle and split your commits.\n\nThese commands are not intended for use on a shared or production branch, but\ncan significantly speed up rapid development on private branches.\n\n`git adjust \u003cdoc/git-adjust.rst\u003e`_\n  Amend any commit, not just the last\n\n`git permute \u003cdoc/git-permute.rst\u003e`_\n  Reorder and delete commits in the current branch\n\n`git split \u003cdoc/git-split.rst\u003e`_\n  Split a range of commits into many single-file commits\n\n`git update \u003cdoc/git-update.rst\u003e`_\n  Update branches from a reference branch\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frec%2Fgitz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frec%2Fgitz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frec%2Fgitz/lists"}