{ "info": { "author": "Tom Ritchford", "author_email": "tom@swirly.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "\ud83d\udddc gitz - git commands for rapid development \ud83d\udddc\n------------------------------------------------------\n\nThis is a collection of seventeen git utilities, the majority of which\nare aimed at people doing rapid development 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 them only exist here, one comes from other git repos, one came\nfrom a chat on Reddit and I 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\nUsing `pip `_:\n\n.. code-block:: bash\n\n pip3 install gitz\n\nOtherwise, download and uncompress\n`this directory `_,\nthen put that downloaded directory's path into the ``PATH``\nenvironment variable.\n\nGetting help\n============\n\nBelow there's a summary of each command, and a link to a manual page.\nOr from the terminal, use ``-h`` flag like this: ``git new -h``.\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 - ``git update`` for each branch, rebases from upstream and pushes\n\n2. During development\n\n - ``git st`` is a more compact and prettier ``git status``\n - ``git ls`` shows you when documents were last changed\n\n3. During rapid development\n\n - ``git amp`` amends and force-pushes the message of the last commit -\n great for minor spelling mistakes\n - ``git infer`` commits files with an automatically generated message -\n great for committing tiny changes for later rebasing down\n\n4. While cleaning commits for release\n\n - ``git shuffle`` shuffles and removes commits in the current branch\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 branch maintenance\n\n - ``git rotate`` rotates through all branches\n - ``git copy``, ``git delete``, and ``git rename`` work both remotely and\n locally\n\n6. Working with continuous integration\n\n - ``git stripe`` pushes branches with a sequence of commits\n to a remote where CI can find and test them\n\nThe gitz commands\n-----------------\n\n\nSafe commands\n=============\n\nInformational commands that don't change your repository\n\n`git gitz `_\n Print information about the gitz environment\n\n`git infer `_\n Commit changes with an auto-generated message\n (from https://github.com/moondewio/git-infer)\n\n`git multi-pick `_\n Cherry-pick multiple commits, with an optional squash\n\n`git new `_\n Create and push new branches\n\n`git rotate `_\n Rotate the current branch forward or backward in the list of branches\n\n`git st `_\n Colorful, compact git status\n \n This version written by https://github.com/PlatyPew/,\n original version by https://www.reddit.com/user/ex1c)\n\n`git stripe `_\n Push a sequence of commit IDs to a remote repository\n\n`git when `_\n When did each file change (date, commit, message), or\n \n Dotfiles are ignored by default\n\nDangerous commands that delete, rename or overwrite branches\n============================================================\n\n`git copy `_\n Copy a git branch locally and on all remotes\n\n`git delete `_\n Delete one or more branches locally and remotely\n\n`git rename `_\n Rename a git branch locally and on all remotes\n\nBy default, the branches ``develop`` and ``master`` and the remote ``upstream``\nare protected - they 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 one of the the environment variables\n ``GITZ_PROTECTED_BRANCHES`` or ``GITZ_PROTECTED_REMOTES`` overrides these\n defaults\n\n- setting a value for the keys ``PROTECTED_BRANCHES`` or ``PROTECTED_REMOTES``\n in the file .gitz.json in the top directory of your Git project\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 amp `_\n AMend the last commit message and force-Push, somewhat safely\n\n`git shuffle `_\n Reorder and delete commits in the current branch\n\n`git split `_\n Split a range of commits into many single-file commits\n\n`git update `_\n Update branches from a reference branch\n\nDangerous commands that are janky\n=================================\n\n``git-all`` is something I use all the time, but it only works in\nsimple cases, and I don't see a good path to making it do complicated\nthings in a sane way.\n\n`git all `_\n Perform a command on each of multiple branches or directories\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rec/gitz", "keywords": "git", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gitz", "package_url": "https://pypi.org/project/gitz/", "platform": "", "project_url": "https://pypi.org/project/gitz/", "project_urls": { "Homepage": "https://github.com/rec/gitz" }, "release_url": "https://pypi.org/project/gitz/0.9.13/", "requires_dist": null, "requires_python": "", "summary": "\ud83d\udddc gitz - tiny useful git commands, some dangerous \ud83d\udddc", "version": "0.9.13" }, "last_serial": 6002536, "releases": { "0.9.1": [ { "comment_text": "", "digests": { "md5": "2b357ef46acf9130b54c611b5609434c", "sha256": "dea4a89eec5f82424c0cb65e9e4c1826ca130d06885e984925de27069c3a0700" }, "downloads": -1, "filename": "gitz-0.9.1.tar.gz", "has_sig": false, "md5_digest": "2b357ef46acf9130b54c611b5609434c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12503, "upload_time": "2019-07-05T18:35:53", "url": "https://files.pythonhosted.org/packages/3b/bc/9b5883a028fe000249955e1699b2963b00eb9704b73057290c39c2345e9b/gitz-0.9.1.tar.gz" } ], "0.9.10": [ { "comment_text": "", "digests": { "md5": "b4c8ae22ebd07e6379d33d246470a0e0", "sha256": "6210b6550895a24f5fbad182e7e26ec29ebd86124622c07737f162b8944ea814" }, "downloads": -1, "filename": "gitz-0.9.10.tar.gz", "has_sig": false, "md5_digest": "b4c8ae22ebd07e6379d33d246470a0e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22699, "upload_time": "2019-09-06T15:43:45", "url": "https://files.pythonhosted.org/packages/17/8e/a33d0011649209c81deaf2b5b7bf899a3d2cacd64b8e946132fc80f9938c/gitz-0.9.10.tar.gz" } ], "0.9.11": [ { "comment_text": "", "digests": { "md5": "6b51dc36167e1165977fcb683815e254", "sha256": "d06c1b6e2e5e58b2c5ac7d3f8ee6fe1b522b8f51aaa510c10d23e0ba87b88122" }, "downloads": -1, "filename": "gitz-0.9.11.tar.gz", "has_sig": false, "md5_digest": "6b51dc36167e1165977fcb683815e254", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22768, "upload_time": "2019-09-06T16:41:05", "url": "https://files.pythonhosted.org/packages/ef/23/ca84ae199728a0bfd56c77767023f003aabf65f9ea7e516890fa5dbb79f1/gitz-0.9.11.tar.gz" } ], "0.9.12": [ { "comment_text": "", "digests": { "md5": "441a9bb45df745060ef136e23edb7787", "sha256": "d2c1880ee0a5d0ce4c758814f55a43295c632538ca78d56bddff7f7265a5544b" }, "downloads": -1, "filename": "gitz-0.9.12.tar.gz", "has_sig": false, "md5_digest": "441a9bb45df745060ef136e23edb7787", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23454, "upload_time": "2019-09-08T16:18:14", "url": "https://files.pythonhosted.org/packages/2f/48/fe3e672ab4f4e91a20edbad071521d5db83b71afca4abd860398d1d75c81/gitz-0.9.12.tar.gz" } ], "0.9.13": [ { "comment_text": "", "digests": { "md5": "71636df716f5e9a7f3166c9a49c4982a", "sha256": "b819c71b41d769c8847c5e50720d2f5324317c530712ad193ddde2426b0cf4e5" }, "downloads": -1, "filename": "gitz-0.9.13.tar.gz", "has_sig": false, "md5_digest": "71636df716f5e9a7f3166c9a49c4982a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24863, "upload_time": "2019-10-20T10:18:07", "url": "https://files.pythonhosted.org/packages/24/55/ff0bcefdf331ad7e4320d2b555b9d0846ca7e10154eed81afd289875ef0e/gitz-0.9.13.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "98bc6f9a839695e1d7e60ca3c1352543", "sha256": "f577d39d1a95209d5a03bbb0f83faf5788ed65e76efcc37f60ed67456900ada8" }, "downloads": -1, "filename": "gitz-0.9.4.tar.gz", "has_sig": false, "md5_digest": "98bc6f9a839695e1d7e60ca3c1352543", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11650, "upload_time": "2019-08-28T13:16:13", "url": "https://files.pythonhosted.org/packages/9c/f0/904fb29c1f6f7d90a08ccbaceaa6bcc9579ae5ce933ceb16d7cba7f9c730/gitz-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "e6708ccf8eeca91c946fe8f989e1398b", "sha256": "72f60d346369168833c7970b24af186663f38b701bb1f1f343aa538a4da8c22d" }, "downloads": -1, "filename": "gitz-0.9.5.tar.gz", "has_sig": false, "md5_digest": "e6708ccf8eeca91c946fe8f989e1398b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19632, "upload_time": "2019-08-28T15:06:21", "url": "https://files.pythonhosted.org/packages/b2/60/c0a6b6d0ab70fbd1efc5d5f6b7d9c0e03ed7efd6a810e8ba0598f018b4f3/gitz-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "5d14a06d0cd568f790839670605b4d21", "sha256": "05d7c0bd918151854c3f0e7d518603209f68414a70c32e52359a0a3de5c1fdf2" }, "downloads": -1, "filename": "gitz-0.9.6.tar.gz", "has_sig": false, "md5_digest": "5d14a06d0cd568f790839670605b4d21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19683, "upload_time": "2019-08-28T15:53:04", "url": "https://files.pythonhosted.org/packages/42/cd/fbc70cc7f288d8bad6cbd799bf57666d2d5f74aae096e7b79a2147cc9124/gitz-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "587bf604d447fafb45f9e8b51073d516", "sha256": "3aa48cd68a23b154e085584493db0b87f97bc37de7e056a6d4cbbdc60dfb5522" }, "downloads": -1, "filename": "gitz-0.9.7.tar.gz", "has_sig": false, "md5_digest": "587bf604d447fafb45f9e8b51073d516", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19676, "upload_time": "2019-08-28T15:55:06", "url": "https://files.pythonhosted.org/packages/9c/23/c11d92473b76568e87114a2eaf946590688b0f894216011e7e25a6cf4996/gitz-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "1a1e5cbe16ae7979dbc4457164ae3964", "sha256": "39d9e9bcfe5c75bc604c79d1bbeb077e40390b5e8e3ddbbfba399a61d7deb14e" }, "downloads": -1, "filename": "gitz-0.9.8.tar.gz", "has_sig": false, "md5_digest": "1a1e5cbe16ae7979dbc4457164ae3964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21473, "upload_time": "2019-09-01T11:42:46", "url": "https://files.pythonhosted.org/packages/a9/e7/d22fb959b7349527fde00bc7df30609805544f65fdc0439c4b5c8db4667d/gitz-0.9.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "71636df716f5e9a7f3166c9a49c4982a", "sha256": "b819c71b41d769c8847c5e50720d2f5324317c530712ad193ddde2426b0cf4e5" }, "downloads": -1, "filename": "gitz-0.9.13.tar.gz", "has_sig": false, "md5_digest": "71636df716f5e9a7f3166c9a49c4982a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24863, "upload_time": "2019-10-20T10:18:07", "url": "https://files.pythonhosted.org/packages/24/55/ff0bcefdf331ad7e4320d2b555b9d0846ca7e10154eed81afd289875ef0e/gitz-0.9.13.tar.gz" } ] }