{"id":15971621,"url":"https://github.com/dolph/git-ready","last_synced_at":"2025-03-17T22:31:05.523Z","repository":{"id":57434782,"uuid":"53635115","full_name":"dolph/git-ready","owner":"dolph","description":"Get ready to commit, socially.","archived":false,"fork":false,"pushed_at":"2016-12-20T18:56:35.000Z","size":25,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-28T05:47:40.999Z","etag":null,"topics":["code-review","gerrit","gerrit-cli","git","git-addons"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dolph.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-11T03:00:33.000Z","updated_at":"2019-09-09T20:49:16.000Z","dependencies_parsed_at":"2022-09-04T14:41:17.022Z","dependency_job_id":null,"html_url":"https://github.com/dolph/git-ready","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolph%2Fgit-ready","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolph%2Fgit-ready/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolph%2Fgit-ready/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dolph%2Fgit-ready/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dolph","download_url":"https://codeload.github.com/dolph/git-ready/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243891224,"owners_count":20364574,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["code-review","gerrit","gerrit-cli","git","git-addons"],"created_at":"2024-10-07T20:22:44.882Z","updated_at":"2025-03-17T22:31:05.256Z","avatar_url":"https://github.com/dolph.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=============\n``git ready``\n=============\n\nTraditional, branch-based git workflows are effectively anti-social when\ncombined with social code review tools, like `Gerrit\n\u003chttps://www.gerritcodereview.com/\u003e`_, where the philosophy of an effective\ncontributor is to share code early and often, long before it's in a \"mergeable\"\nstate.\n\nBranch-based workflows presume that you are a lonely contributor, working on an\nisland, and that someday your commits will be mature enough to set sail for\ncivilization. Perhaps your commits are flawed, but that's okay, because they're\nstill private. You'll have time to clean them up later. No one has to see your\ndirty shortcuts or your \"obvious\" mistakes.\n\nLocal branches ultimately foster offline iteration, void of human interaction,\nwhere you can dwell on syntactic sugar, admiring the beauty of your art.\nConfidently bolstered by whole days (or even weeks) spent in isolation, you\nfinally venture into the land of open source, only to have your masterpiece\nshot down: \"PEP8 violation. Did you even submit a TPS report?\"\n\nInstead, don't create local branches at all. Do a bit of work and kick it off\nto Gerrit. Maybe it's still a work in progress, maybe it's not. The important\npart is that code review is an important feedback loop, and **you should do\neverything in your power to tighten your feedback loops.** Developers\ncommunicate to each other in code. Share your commits as early as possible. Get\nthat inevitable feedback sooner.\n\nCommunicate more; iterate faster.\n\n``git ready`` fosters a social workflow, where you have no chance of\naccidentally committing directly to ``master``, and your best means of tracking\nyour work is to share it in Gerrit.\n\nInstallation\n------------\n\n.. image:: https://img.shields.io/pypi/v/git-ready.svg\n   :target: https://pypi.python.org/pypi/git-ready\n\nFrom `PyPi \u003chttps://pypi.python.org/pypi/git-ready\u003e`_::\n\n    $ pip install git-ready\n\nUsage\n-----\n\nStart with your favorite git repository managed by Gerrit::\n\n    $ git clone git@github.com:openstack/nova.git\n    $ cd nova/\n\nAnd instead of creating a branch, or accidentally committing to master, start\nwith ``git ready``::\n\n    $ git ready\n\nThat's it! You're ready to commit on top of the master branch::\n\n    $ git commit\n\nSo now what? You've effectively committed on an untracked branch. Sounds scary,\nright? But remember, we have Gerrit! Send your changes off to Gerrit to turn\nyour unnamed branch into a social branch hosted by Gerrit::\n\n    $ git review\n\nYour code is up for review. And now you want to work on something else? Use\n``git ready`` to get back onto the latest ``master`` branch and repeat the process::\n\n    $ git ready\n    $ git commit\n    $ git review\n\nReally, that's all there is to it.\n\nUnless you want to work on upstream branches. Let's say you want to propose a\ncommit to the upstream ``stable/release`` branch::\n\n    $ git ready stable/release\n    $ git commit\n    $ git review\n\n``git ready`` will even track the remote branch for you without any fuss (yes,\n``git ready`` just took away your one excuse to ever work directly with local\nbranches).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdolph%2Fgit-ready","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdolph%2Fgit-ready","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdolph%2Fgit-ready/lists"}