{"id":16900539,"url":"https://github.com/loganintech/gitpub","last_synced_at":"2025-03-22T10:30:56.495Z","repository":{"id":62439517,"uuid":"180696435","full_name":"loganintech/gitpub","owner":"loganintech","description":"A small program to create remote repos from the command line. https://crates.io/crates/gitpub","archived":false,"fork":false,"pushed_at":"2019-06-25T23:30:30.000Z","size":144,"stargazers_count":20,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-18T06:53:39.856Z","etag":null,"topics":["cli","git","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loganintech.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-04-11T02:08:34.000Z","updated_at":"2024-02-09T19:22:16.000Z","dependencies_parsed_at":"2022-11-01T22:00:42.434Z","dependency_job_id":null,"html_url":"https://github.com/loganintech/gitpub","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganintech%2Fgitpub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganintech%2Fgitpub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganintech%2Fgitpub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loganintech%2Fgitpub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loganintech","download_url":"https://codeload.github.com/loganintech/gitpub/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244943650,"owners_count":20536273,"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":["cli","git","rust"],"created_at":"2024-10-13T17:55:08.826Z","updated_at":"2025-03-22T10:30:56.035Z","avatar_url":"https://github.com/loganintech.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gitpub\n\nA small program to create remote git repositories from the command line.\n\n_Note:_ Environment variables can also be passed directly via CLI parameters, therefore setting said variables are always optional.\n\n_Note:_ API Versions in this README are based on the last time the CLI changed.\n\nUsage:\n\n```\nGit Publish 0.4.1\nLogan Saso \u003clogansaso+tech@gmail.com\u003e\nA small program to create remote git repositories from the command line.\n\nUSAGE:\n    gitpub [FLAGS] [OPTIONS] \u003cSUBCOMMAND\u003e\n\nFLAGS:\n    -h, --help                 Prints help information\n        --set_remote           Sets the remote of the local dir after successful creation.\n        --ssh_remote_format    Attempts to convert the git remote url into ssh format. If it fails (the provider doesn't support ssh format), the remote isn't set.\n    -V, --version              Prints version information\n\nOPTIONS:\n        --endpoint \u003cendpoint\u003e          Sets a custom endpoint to POST to, useful if you want a private instance and know the api matches one gitpub supports.\n        --remote_name \u003cremote_name\u003e    Designates a custom name for setting remote. Defaults to origin.\n\nSUBCOMMANDS:\n    bitbucket    Create a repo on bitbucket.\n    github       Create a repo on github.\n    gitlab       Create a repo on gitlab.\n    help         Prints this message or the help of the given subcommand(s)\n```\n\n## Github Setup\n\n1. Create a personal access token with repo scope from https://github.com/settings/tokens\n2. Set the environment variable `GITHUB_REPO_TOKEN` to the generated personal access token.\n\n_Note:_ If you want to create org repositories the token also requires `org` scope.\n\n### Github\n```\ngitpub-github 0.4.1\nCreate a repo on github.\n\nUSAGE:\n    gitpub github [FLAGS] [OPTIONS] --name \u003cname\u003e --token \u003ctoken\u003e\n\nFLAGS:\n    -i, --disable_issues            Disables issues for this repo. Defaults to false.\n        --merge                     Enables or disables merging with a merge commit. Defaults to false.\n        --disable_projects          Disables projects for this repo. Defaults to false.\n        --rebase                    Enables or disables rebase-merging for this repo. Defaults to false.\n        --squash                    Enables or disables squash-merging for this repo. Defaults to false.\n    -w, --disable_wiki              Disables wikis for this repo. Defaults to false.\n    -h, --help                      Prints help information\n        --org                       Creates the repo under an organization. Requires you have CREATE REPO permissions in that org.\n    -p, --private                   Sets the repository to private. Required 'repo' scope on your personal access token.\n    -r, --initialize_with_readme    Creates an initial commit with empty README.md. Defaults to false.\n        --team                      ID of the team that has access to this repo. Only valid when using --org\n    -V, --version                   Prints version information\n\nOPTIONS:\n    -d, --description \u003cdescription\u003e    A short description of the repository.\n        --gitignore \u003cgitignore\u003e        Language template: ex 'Rust'. View more templates at https://github.com/github/gitignore/\n        --homepage \u003chomepage\u003e          A URL with more information about the repository.\n        --license \u003clicense\u003e            License template: ex 'mit' or 'mpl-2.0'. View more at https://choosealicense.com/\n    -n, --name \u003cname\u003e                  The name of the new repository.\n    -t, --token \u003ctoken\u003e                A personal access token. Alternatively read from GITHUB_REPO_TOKEN env variable. [env: GITHUB_REPO_TOKEN=\u003cYOUR_TOKEN\u003e]\n\n```\n\n## Gitlab Setup\n\n1. Create a personal access token with api scope from https://gitlab.com/profile/personal_access_tokens\n2. Set the environment variable `GITLAB_REPO_TOKEN` to the generated personal access token.\n\n_Note_: Optionally set the `GITLAB_USERNAME` environment variable to enable printing a link to the repo.\n\n\n### Gitlab\n```\ngitpub-gitlab 0.4.1\nCreate a repo on gitlab.\n\nUSAGE:\n    gitpub gitlab [FLAGS] [OPTIONS] --name \u003cname\u003e --path \u003cpath\u003e --token \u003ctoken\u003e\n\nFLAGS:\n        --disable_container_registry        Disables container registry for this repo.\n    -i, --disable_issues                    Disables issues for this repo.\n        --disable_jobs                      Disables jobs for this repo.\n        --disable_merge                     Disables merging with a merge commit.\n        --disable_shared_runners            Disables shared runners for this repo.\n        --disable_snippets                  Disables snippets for this repo.\n    -w, --disable_wiki                      Disables wikis for this repo.\n        --discussion_resolution_required    Requires discussions are resolved before a merge.\n    -h, --help                              Prints help information\n    -r, --initialize_with_readme            Create a blank README for the project.\n        --large_file_support                Enables git large file support.\n        --merge_request_link_on_commit      Print the merge request link when committing to the repository.\n        --mirror                            Enables pull mirroring in a project.\n        --mirror_triggers_builds            Enables builds on pull mirroring.\n        --pipeline_success_required         Requires pipelines to succeed before a merge.\n        --public_builds                     Lets jobs be viewed by non-project members.\n        --request_access_enabled            Allow users to request member access.\n    -V, --version                           Prints version information\n\nOPTIONS:\n        --approvals_before_merge \u003capprovals_before_merge\u003e    Number of approvals required before a merge.\n        --ci_config_path \u003cci_config_path\u003e                    Path to CI config file.\n        --default_branch \u003cdefault_branch\u003e                    Set default branch. Defaults to master.\n    -d, --description \u003cdescription\u003e                          A short description of the repository.\n        --import_url \u003cimport_url\u003e                            Supply a URL to import a repo from.\n        --merge_method \u003cmerge_method\u003e                        Sets the merge method. [possible values: merge, rebase_merge, ff]\n    -n, --name \u003cname\u003e                                        The name of the new repository.\n        --namespace_id \u003cnamespace_id\u003e                        Namespace for the new project (defaults to the current user’s namespace)\n        --path \u003cpath\u003e                                        The path for the new repo. Generated based on name if not provided (generated lowercased with dashes).\n        --repository_storage \u003crepository_storage\u003e            An advanced parameter to designate which shard the repo is on, available only to admins.\n        --tag_list \u003ctag_list\u003e...                             A list of tags for a repo. Takes up to four params. `--tag_list first second third tag`\n    -t, --token \u003ctoken\u003e                                      A personal access token. Alternatively read from GITLAB_REPO_TOKEN env variable. [env: GITLAB_REPO_TOKEN=\u003cYOUR_TOKEN\u003e]\n        --visibility \u003cvisibility\u003e                            The visibility of the project [possible values: public, internal, private]\n```\n\n## BitBucket Setup\n\n1. Create an app password with repo scope from https://bitbucket.org/account/user/\u003cYOUR_USERNAME\u003e/app-passwords\n2. Set the environment variable `BITBUCKET_REPO_TOKEN` to the generated personal access token.\n3. Set the environment variable `BITBUCKET_USERNAME` to your bitbucket username.\n\n### Bitbucket\n\n```\ngitpub-bitbucket 0.4.3\nCreate a repo on bitbucket.\n\nUSAGE:\n    gitpub bitbucket [FLAGS] [OPTIONS] --name \u003cname\u003e --token \u003ctoken\u003e --username \u003cusername\u003e\n\nFLAGS:\n    -i, --disable_issues    Disables issues for this repo. Defaults to false.\n    -w, --disable_wiki      Disables wikis for this repo. Defaults to false.\n    -h, --help              Prints help information\n    -p, --private           Sets the repository to private.\n    -V, --version           Prints version information\n\nOPTIONS:\n    -d, --description \u003cdescription\u003e    A short description of the repository.\n        --fork_policy \u003cfork_policy\u003e    Changes the allowed forking method for this repo. [possible values: allow_forks, no_public_forks, no_forks]\n        --language \u003clanguage\u003e          Give bitbucket a hint about the programming language.\n    -n, --name \u003cname\u003e                  The name of the new repository.\n        --scm \u003cscm\u003e                    Control underlying source control method. [possible values: git, hg]\n    -t, --token \u003ctoken\u003e                A personal access token. Alternatively read from BITBUCKET_REPO_TOKEN env variable. [env: BITBUCKET_REPO_TOKEN=\u003cYOUR_TOKEN\u003e]\n        --username \u003cusername\u003e          Your bitbucket username. Alternatively read from BITBUCKET_USERNAME env variable. [env: BITBUCKET_USERNAME=\u003cYOUR_USERNAME\u003e]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floganintech%2Fgitpub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floganintech%2Fgitpub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floganintech%2Fgitpub/lists"}