{"id":4615878,"url":"https://seveas.github.io/git-hub","last_synced_at":"2025-09-10T13:31:24.973Z","repository":{"id":4867761,"uuid":"6022671","full_name":"seveas/git-spindle","owner":"seveas","description":"Abandoned command-line interface to GitHub and other central git services","archived":true,"fork":false,"pushed_at":"2022-05-31T15:54:37.000Z","size":5548,"stargazers_count":172,"open_issues_count":0,"forks_count":36,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-05-14T10:44:55.881Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"himanshug/druid-hadoop-utils","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seveas.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-30T21:46:08.000Z","updated_at":"2023-04-28T10:11:35.000Z","dependencies_parsed_at":"2022-09-13T02:52:49.684Z","dependency_job_id":null,"html_url":"https://github.com/seveas/git-spindle","commit_stats":null,"previous_names":["seveas/git-hub"],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seveas%2Fgit-spindle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seveas%2Fgit-spindle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seveas%2Fgit-spindle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seveas%2Fgit-spindle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seveas","download_url":"https://codeload.github.com/seveas/git-spindle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232538534,"owners_count":18538733,"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":[],"created_at":"2024-02-16T21:02:09.581Z","updated_at":"2025-01-05T01:30:48.684Z","avatar_url":"https://github.com/seveas.png","language":"Python","funding_links":[],"categories":["Command line"],"sub_categories":[],"readme":"Archived, abandoned\n===================\n\ngit-spindle was once born because GitLab and BitBucket didn't have usable CLI's, and GitHub's cli\nleft much to be desired. These days GitHub's `gh` beats git-spindle by a mile, and for GitLab\nthere's `glab`. Even atlassian now ships a cli for bitbucket, though personally I don't care about\nbitbucket at all anymore.\n\nSo it's time for git-spindle to retire. It was fun while it lasted, and if there's some code in here\nyou find useful, feel free to steal it as you see fit.\n\n\nIntegrating git with central services\n=====================================\n\nMany central git hosting services, such as GitHub and GitLab, provide an API to\nperform actions such as creating repositories and filing pull requests.\ngit-spindle is a collection of git subcommands to make using these services\neasier.\n\nFor example, to fork and clone a repository on GitHub, one can now simply use\n\n    git hub clone seveas/whelk\n\nWith this git subcommand, you can perform various github actions, such as\ncreating or forking a repository from the command line.\n\nTo install the latest released version on Ubuntu:\n\n    sudo add-apt-repository ppa:dennis/python\n    sudo add-apt-repository ppa:dennis/devtools\n    sudo apt-get update\n    sudo apt-get install git-spindle\n\nTo install the latest released version on Windows:\n\n    Install git from http://git-for-windows.github.io/\n    Install python 3.5 or newer from https://www.python.org/downloads/\n    Run the following 2 commands in a command prompt:\n    py -mensurepip\n    py -mpip install git-spindle\n\nTo install the latest released version on other systems, assuming python and\npip are installed:\n\n    pip install git-spindle\n\nUsage:\n\n(For detailed information, go to https://git-spindle.seveas.net)\n\nAdd an account to the configuration:\n  git hub add-account [--host=\u003chost\u003e] \u003calias\u003e\nAdd a user as collaborator:\n  git hub add-collaborator \u003cuser\u003e...\nAdd a deploy key:\n  git hub add-deploy-key [--read-only] \u003ckey\u003e...\nAdd a repository hook:\n  git hub add-hook \u003cname\u003e [\u003csetting\u003e...]\nAdds keys to your public keys:\n  git hub add-public-keys [\u003ckey\u003e...]\nAdd user's fork as a named remote. The name defaults to the user's loginname:\n  git hub add-remote [--ssh|--http|--git] \u003cuser\u003e [\u003cname\u003e]\nApplies a pull request as a series of cherry-picks:\n  git hub apply-pr \u003cpr-number\u003e\nOpen the GitHub page for a repository in a browser:\n  git hub browse [--parent] [\u003crepo\u003e] [\u003csection\u003e]\nShow a timeline of a user's activity:\n  git hub calendar [\u003cuser\u003e]\nDisplay the contents of a file on GitHub:\n  git hub cat \u003cfile\u003e...\nCheck the github pages configuration and content of your repo:\n  git hub check-pages [\u003crepo\u003e] [--parent]\nClone a repository by name:\n  git hub clone [--ssh|--http|--git] [--triangular [--upstream-branch=\u003cbranch\u003e]] [--parent] [git-clone-options] \u003crepo\u003e [\u003cdir\u003e]\nList collaborators of a repository:\n  git hub collaborators [\u003crepo\u003e]\nConfigure git-spindle, similar to git-config:\n  git hub config [--unset] \u003ckey\u003e [\u003cvalue\u003e]\nCreate a repository on github to push to:\n  git hub create [--private] [--org=\u003corg\u003e] [--description=\u003cdescription\u003e]\nCreate a personal access token that can be used for git operations:\n  git hub create-token [--store]\nLists all keys for a repo:\n  git hub deploy-keys [\u003crepo\u003e]\nEdit a hook:\n  git hub edit-hook \u003cname\u003e [\u003csetting\u003e...]\nFetch refs from a user's fork:\n  git hub fetch [--ssh|--http|--git] \u003cuser\u003e [\u003crefspec\u003e]\nFork a repo and clone it:\n  git hub fork [--ssh|--http|--git] [--triangular [--upstream-branch=\u003cbranch\u003e]] [\u003crepo\u003e]\nList all forks of this repository:\n  git hub forks [\u003crepo\u003e]\nCreate a new gist from files or stdin:\n  git hub gist [--description=\u003cdescription\u003e] \u003cfile\u003e...\nShow all gists for a user:\n  git hub gists [\u003cuser\u003e]\nShow hooks that have been enabled:\n  git hub hooks\nShow gitignore patterns for one or more languages:\n  git hub ignore [\u003clanguage\u003e...]\nShow the IP addresses for github.com services in CIDR format:\n  git hub ip-addresses [--git] [--hooks] [--importer] [--pages]\nShow issue details or report an issue:\n  git hub issue [\u003crepo\u003e] [--parent] [\u003cissue\u003e...]\nList issues in a repository:\n  git hub issues [\u003crepo\u003e] [--parent] [\u003cfilter\u003e...]\nDisplay github log for yourself or other users. Or for an organisation or a repo:\n  git hub log [--type=\u003ctype\u003e] [--count=\u003ccount\u003e] [--verbose] [\u003cwhat\u003e]\nDisplay the contents of a directory on GitHub:\n  git hub ls [\u003cdir\u003e...]\nMirror a repository, or all repositories for a user:\n  git hub mirror [--ssh|--http|--git] [\u003crepo\u003e]\nCreate a graphviz graph of followers and forks:\n  git hub network [\u003clevel\u003e]\nProtect a branch against deletions, force-pushes and failed status checks:\n  git hub protect [--enforcement-level=\u003clevel\u003e] [--contexts=\u003ccontexts\u003e] \u003cbranch\u003e\nList active branch protections:\n  git hub protected\nLists all keys for a user:\n  git hub public-keys [\u003cuser\u003e]\nOpens a pull request to merge your branch to an upstream branch:\n  git hub pull-request [--issue=\u003cissue\u003e] [--yes] [\u003cyours:theirs\u003e]\nGet the README for a repository:\n  git hub readme [\u003crepo\u003e]\nCreate a release:\n  git hub release [--draft] [--prerelease] \u003ctag\u003e [\u003creleasename\u003e]\nList all releases:\n  git hub releases [\u003crepo\u003e]\nRemove a user as collaborator:\n  git hub remove-collaborator \u003cuser\u003e...\nRemove deploy key by id:\n  git hub remove-deploy-key \u003ckey\u003e...\nRemove a hook:\n  git hub remove-hook \u003cname\u003e\nRender a markdown document:\n  git hub render [--save=\u003coutfile\u003e] \u003cfile\u003e\nList all repos of a user, by default yours:\n  git hub repos [--no-forks] [\u003cuser\u003e]\nLet the octocat speak to you:\n  git hub say [\u003cmsg\u003e]\nSet the remote 'origin' to github.:\n  git hub set-origin [--ssh|--http|--git] [--triangular [--upstream-branch=\u003cbranch\u003e]]\nDisplay current and historical GitHub service status:\n  git hub status\nRemove branch protections from a branch:\n  git hub unprotect \u003cbranch\u003e\nDisplay GitHub user info:\n  git hub whoami\nDisplay GitHub user info:\n  git hub whois \u003cuser\u003e...\n\nAdd an account to the configuration:\n  git lab add-account [--host=\u003chost\u003e] \u003calias\u003e\nAdd a project member:\n  git lab add-member [--access-level=guest|reporter|developer|master|owner] \u003cuser\u003e...\nAdds keys to your public keys:\n  git lab add-public-keys [\u003ckey\u003e...]\nAdd user's fork as a named remote. The name defaults to the user's loginname:\n  git lab add-remote [--ssh|--http] \u003cuser\u003e [\u003cname\u003e]\nApplies a merge request as a series of cherry-picks:\n  git lab apply-merge \u003cmerge-request-number\u003e\nOpen the GitLab page for a repository in a browser:\n  git lab browse [--parent] [\u003crepo\u003e] [\u003csection\u003e]\nShow a timeline of a user's activity:\n  git lab calendar [\u003cuser\u003e]\nDisplay the contents of a file on GitLab:\n  git lab cat \u003cfile\u003e...\nClone a repository by name:\n  git lab clone [--ssh|--http] [--triangular [--upstream-branch=\u003cbranch\u003e]] [--parent] [git-clone-options] \u003crepo\u003e [\u003cdir\u003e]\nConfigure git-spindle, similar to git-config:\n  git lab config [--unset] \u003ckey\u003e [\u003cvalue\u003e]\nCreate a repository on gitlab to push to:\n  git lab create [--private|--internal] [--group=\u003cgroup\u003e] [--description=\u003cdescription\u003e]\nFetch refs from a user's fork:\n  git lab fetch [--ssh|--http] \u003cuser\u003e [\u003crefspec\u003e]\nFork a repo and clone it:\n  git lab fork [--ssh|--http] [--triangular [--upstream-branch=\u003cbranch\u003e]] [\u003crepo\u003e]\nShow issue details or report an issue:\n  git lab issue [\u003crepo\u003e] [--parent] [\u003cissue\u003e...]\nList issues in a repository:\n  git lab issues [\u003crepo\u003e] [--parent] [\u003cfilter\u003e...]\nDisplay GitLab log for a repository:\n  git lab log [\u003crepo\u003e]\nDisplay the contents of a directory on GitLab:\n  git lab ls [\u003cdir\u003e...]\nList repo memberships:\n  git lab members [\u003crepo\u003e]\nOpens a merge request to merge your branch to an upstream branch:\n  git lab merge-request [--yes] [\u003cyours:theirs\u003e]\nMirror a repository, or all your repositories:\n  git lab mirror [--ssh|--http] [\u003crepo\u003e]\nProtect a branch against force-pushes:\n  git lab protect \u003cbranch\u003e\nList protected branches:\n  git lab protected\nLists all keys for a user:\n  git lab public-keys [\u003cuser\u003e]\nRemove a user's membership:\n  git lab remove-member \u003cuser\u003e...\nList all your repos:\n  git lab repos [--no-forks]\nSet the remote 'origin' to gitlab.:\n  git lab set-origin [--ssh|--http] [--triangular [--upstream-branch=\u003cbranch\u003e]]\nRemove force-push protection from a branch:\n  git lab unprotect \u003cbranch\u003e\nDisplay GitLab user info:\n  git lab whoami\nDisplay GitLab user info:\n  git lab whois \u003cuser\u003e...\n\nAdd an account to the configuration:\n  git bb add-account \u003calias\u003e\nAdd a deploy key:\n  git bb add-deploy-key \u003ckey\u003e...\nAdd privileges for a user to this repo:\n  git bb add-privilege [--admin|--read|--write] \u003cuser\u003e...\nAdds keys to your public keys:\n  git bb add-public-keys [\u003ckey\u003e...]\nAdd user's fork as a named remote. The name defaults to the user's loginname:\n  git bb add-remote [--ssh|--http] \u003cuser\u003e [\u003cname\u003e]\nApplies a pull request as a series of cherry-picks:\n  git bb apply-pr \u003cpr-number\u003e\nOpen the GitHub page for a repository in a browser:\n  git bb browse [--parent] [\u003crepo\u003e] [\u003csection\u003e]\nDisplay the contents of a file on BitBucket:\n  git bb cat \u003cfile\u003e...\nClone a repository by name:\n  git bb clone [--ssh|--http] [--triangular [--upstream-branch=\u003cbranch\u003e]] [--parent] [git-clone-options] \u003crepo\u003e [\u003cdir\u003e]\nConfigure git-spindle, similar to git-config:\n  git bb config [--unset] \u003ckey\u003e [\u003cvalue\u003e]\nCreate a repository on bitbucket to push to:\n  git bb create [--private] [--team=\u003cteam\u003e] [--description=\u003cdescription\u003e]\nLists all keys for a repo:\n  git bb deploy-keys [\u003crepo\u003e]\nFetch refs from a user's fork:\n  git bb fetch [--ssh|--http] \u003cuser\u003e [\u003crefspec\u003e]\nFork a repo and clone it:\n  git bb fork [--ssh|--http] [--triangular [--upstream-branch=\u003cbranch\u003e]] [\u003crepo\u003e]\nList all forks of this repository:\n  git bb forks [\u003crepo\u003e]\nInvite users to collaborate on this repository:\n  git bb invite [--read|--write|--admin] \u003cemail\u003e...\nShow issue details or report an issue:\n  git bb issue [\u003crepo\u003e] [--parent] [\u003cissue\u003e...]\nList issues in a repository:\n  git bb issues [\u003crepo\u003e] [--parent] [\u003cfilter\u003e...]\nDisplay the contents of a directory on BitBucket:\n  git bb ls [\u003cdir\u003e...]\nMirror a repository, or all repositories for a user:\n  git bb mirror [--ssh|--http] [\u003crepo\u003e]\nList repo privileges:\n  git bb privileges [\u003crepo\u003e]\nLists all keys for a user:\n  git bb public-keys [\u003cuser\u003e]\nOpens a pull request to merge your branch to an upstream branch:\n  git bb pull-request [--yes] [\u003cyours:theirs\u003e]\nRemove deploy key by id:\n  git bb remove-deploy-key \u003ckey\u003e...\nRemove a user's privileges:\n  git bb remove-privilege \u003cuser\u003e...\nList all repos of a user, by default yours:\n  git bb repos [--no-forks] [\u003cuser\u003e]\nSet the remote 'origin' to github.:\n  git bb set-origin [--ssh|--http] [--triangular [--upstream-branch=\u003cbranch\u003e]]\nCreate a new snippet from files or stdin:\n  git bb snippet [--description=\u003cdescription\u003e] \u003cfile\u003e...\nShow all snippets for a user:\n  git bb snippets [\u003cuser\u003e]\nDisplay BitBucket user info:\n  git bb whoami\nDisplay GitHub user info:\n  git bb whois \u003cuser\u003e...\n\nCopyright (C) 2012-2020 Dennis Kaarsemaker \u003cdennis@kaarsemaker.net\u003e\n\nThis program is free software: you can redistribute it and/or modify it under\nthe terms of the GNU General Public License as published by the Free Software\nFoundation, either version 3 of the License, or (at your option) any later\nversion.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY\nWARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A\nPARTICULAR PURPOSE.  See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with\nthis program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/seveas.github.io%2Fgit-hub","html_url":"https://awesome.ecosyste.ms/projects/seveas.github.io%2Fgit-hub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/seveas.github.io%2Fgit-hub/lists"}