Name | gitz JSON |
Version |
1.7.1
JSON |
| download |
home_page | https://github.com/rec/gitz |
Summary | 🗜 Tiny useful git commands, some dangerous 🗜 |
upload_time | 2024-01-04 16:54:22 |
maintainer | |
docs_url | None |
author | Tom Ritchford |
requires_python | >=3.8 |
license | |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
|
coveralls test coverage |
No coveralls.
|
🗜 gitz - git commands for rapid development 🗜
------------------------------------------------------
This is a collection of seventeen git utilities aimed at people doing rapid
development using Git.
Gitz is for two types of users - quality-obsessed individuals who relentlessly
manicure their pull requests until every byte is in the right place; and
ultra-rapid developers who want to generate large features quickly while taking
advantage of continuous integration.
Most of these utilities only exist here, one came from a chat on Reddit and
I don't know where one of them came from.
Four of them are written in Bash, the rest use Python 3. They have been tested
on Mac OS/X (Darwin) and on Ubuntu, and will likely work on any Unix-like
operating system.
How to install
==============
Use `pip <https://pypi.org/project/pip/>`_:
.. code-block:: bash
pip3 install gitz
Or simply download
`this directory <https://github.com/rec/gitz/zipball/master/>`_
and make sure it's in your shell's ``PATH`` - gitz has no
external dependencies.
Getting help
============
This page contains a summary and a link to a manual page for each command. From
the terminal, use ``-h`` flag like this: ``git new -h`` or use ``man`` like
this: ``man git-new``.
When to use gitz
=================
1. At the start of a session
- ``git new`` safely creates fresh branches from upstream
- ``git update`` for each branch, rebases from upstream and force-pushes
2. During development
- ``git st`` is a more compact and prettier ``git status``
- ``git when`` shows you when documents were last changed
3. During rapid development
- ``git infer`` commits files with an automatically generated message -
great for committing tiny changes for later rebasing down
4. While cleaning up a branch for review
- ``git permute`` permutes, squashes or removes commits in the current branch
- ``git split`` split one or more commits, perhaps with the staging area,
into many small individual commits, one per file
5. During repository maintenance
- ``git rotate`` rotates through all branches
- ``git copy``, ``git delete``, and ``git rename`` work on both local
and upstream branches
6. Working with continuous integration
- ``git stripe`` pushes a sequence of commits to individual remote branches
where CI can find and test them
The movie
==========
.. figure:: https://asciinema.org/a/XwakAaMsMzKg4hIAJa18iiNac.png
:target: https://asciinema.org/a/XwakAaMsMzKg4hIAJa18iiNac?autoplay=1&theme=solarized-light&loop=1
:align: center
:alt: The whole gitz movie
:width: 430
:height: 402
The gitz commands
-----------------
Safe commands
=============
Informational commands that don't change your repository
`git gitz <doc/git-gitz.rst>`_
Print information about the gitz git commands
`git go <doc/git-go.rst>`_
Open a browser page for the current repo
`git infer <doc/git-infer.rst>`_
Commit changes with an automatically generated message
(from https://github.com/moondewio/git-infer)
`git multi-pick <doc/git-multi-pick.rst>`_
Cherry-pick multiple commits, with an optional squash
`git new <doc/git-new.rst>`_
Create and push new branches
`git rot <doc/git-rot.rst>`_
Rotate through branches in a Git repository
`git st <doc/git-st.rst>`_
Colorful, compact git status
`git stripe <doc/git-stripe.rst>`_
Push a sequence of commit IDs to a remote repository
`git when <doc/git-when.rst>`_
For each file, show the most recent commit that changed it.
Dotfiles are ignored by default.
Dangerous commands that delete, rename or overwrite branches
============================================================
`git copy <doc/git-copy.rst>`_
Copy a git branch locally and remotely
`git delete <doc/git-delete.rst>`_
Delete one or more branches locally and remotely
`git rename <doc/git-rename.rst>`_
Rename a git branch locally and remotely
By default, the branches ``develop`` and ``master`` are protected -
they are not allowed to be copied to, renamed, or deleted.
You can configure this in three ways:
- setting the ``--all/-a`` flag ignore protected branches entirely
- setting the environment variable ``GITZ_PROTECTED_BRANCHES`` overrides these
defaults
- setting a value for the keys ``PROTECTED_BRANCHES`` in the file
.gitz.json in the top directory of your Git project has the same effect
Dangerous commands that rewrite history
=======================================
Slice, dice, shuffle and split your commits.
These commands are not intended for use on a shared or production branch, but
can significantly speed up rapid development on private branches.
`git adjust <doc/git-adjust.rst>`_
Amend any commit, not just the last
`git permute <doc/git-permute.rst>`_
Reorder and delete commits in the current branch
`git split <doc/git-split.rst>`_
Split a range of commits into many single-file commits
`git update <doc/git-update.rst>`_
Update branches from a reference branch
Raw data
{
"_id": null,
"home_page": "https://github.com/rec/gitz",
"name": "gitz",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "Tom Ritchford",
"author_email": "tom@swirly.com",
"download_url": "https://files.pythonhosted.org/packages/7c/2f/404a3cb2bed7c18278c5fa11b0796851b8e9aed38dd4f5f183c5bef33087/gitz-1.7.1.tar.gz",
"platform": null,
"description": "\ud83d\udddc gitz - git commands for rapid development \ud83d\udddc\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 <https://pypi.org/project/pip/>`_:\n\n.. code-block:: bash\n\n pip3 install gitz\n\nOr simply download\n`this directory <https://github.com/rec/gitz/zipball/master/>`_\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&theme=solarized-light&loop=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 <doc/git-gitz.rst>`_\n Print information about the gitz git commands\n\n`git go <doc/git-go.rst>`_\n Open a browser page for the current repo\n\n`git infer <doc/git-infer.rst>`_\n Commit changes with an automatically generated message\n \n (from https://github.com/moondewio/git-infer)\n\n`git multi-pick <doc/git-multi-pick.rst>`_\n Cherry-pick multiple commits, with an optional squash\n\n`git new <doc/git-new.rst>`_\n Create and push new branches\n\n`git rot <doc/git-rot.rst>`_\n Rotate through branches in a Git repository\n\n`git st <doc/git-st.rst>`_\n Colorful, compact git status\n\n`git stripe <doc/git-stripe.rst>`_\n Push a sequence of commit IDs to a remote repository\n\n`git when <doc/git-when.rst>`_\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 <doc/git-copy.rst>`_\n Copy a git branch locally and remotely\n\n`git delete <doc/git-delete.rst>`_\n Delete one or more branches locally and remotely\n\n`git rename <doc/git-rename.rst>`_\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 <doc/git-adjust.rst>`_\n Amend any commit, not just the last\n\n`git permute <doc/git-permute.rst>`_\n Reorder and delete commits in the current branch\n\n`git split <doc/git-split.rst>`_\n Split a range of commits into many single-file commits\n\n`git update <doc/git-update.rst>`_\n Update branches from a reference branch\n",
"bugtrack_url": null,
"license": "",
"summary": "\ud83d\udddc Tiny useful git commands, some dangerous \ud83d\udddc",
"version": "1.7.1",
"project_urls": {
"Homepage": "https://github.com/rec/gitz",
"Repository": "https://github.com/rec/gitz"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e017caf663b2fbab411483a97fb81a45f93904dba8272d4815541cdf37201654",
"md5": "73fdf42c2fa856d4e10ed2740ed05f56",
"sha256": "2a66fd8b77faf073d0ae90281150a35de54ee9b10b66db52fb2ce7eaa3d1a994"
},
"downloads": -1,
"filename": "gitz-1.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "73fdf42c2fa856d4e10ed2740ed05f56",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 42586,
"upload_time": "2024-01-04T16:54:20",
"upload_time_iso_8601": "2024-01-04T16:54:20.853288Z",
"url": "https://files.pythonhosted.org/packages/e0/17/caf663b2fbab411483a97fb81a45f93904dba8272d4815541cdf37201654/gitz-1.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c2f404a3cb2bed7c18278c5fa11b0796851b8e9aed38dd4f5f183c5bef33087",
"md5": "7050c27a5cff791d0d33c2d4f8e53a70",
"sha256": "8feea61c6929226fb5a42188d9b77d4645587ee80cad424f78ad0cf2c103108a"
},
"downloads": -1,
"filename": "gitz-1.7.1.tar.gz",
"has_sig": false,
"md5_digest": "7050c27a5cff791d0d33c2d4f8e53a70",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 31733,
"upload_time": "2024-01-04T16:54:22",
"upload_time_iso_8601": "2024-01-04T16:54:22.339589Z",
"url": "https://files.pythonhosted.org/packages/7c/2f/404a3cb2bed7c18278c5fa11b0796851b8e9aed38dd4f5f183c5bef33087/gitz-1.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-04 16:54:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rec",
"github_project": "gitz",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "gitz"
}