Skip to main content

A git command automation for multiple repositories

Project description

octohot

A git command automation for multiple repositories

Installation

pip3 install octohot

First use

Create a octohot.yml in an empty folder with organization name, your token and a optional repo list.

octohot.yml example

github_organization: Hotmart-Org
github_token: <GITHUB_TOKEN>
repositories:
- git@github.com:organization/repo1.git
- git@github.com:organization/repo2.git
- git@github.com:organization/repo3.git

Sync, replace and apply usage

octohot github org import # import all repositories from organization to octohot.yml
octohot sync # Clone, reset, delete unpushed Branches, pull all repos in octohot.yml
octohot regex find "[A-Z]*" # Find all upper case words
octohot regex replace "[0-9]*" "" # remove all numbers
octohot regex replace "foo" "baz" # replace foo to baz 
octohot apply # Pull, branch, add, commit, push and make a optional PR

Main commands

Clone, reset, delete unpushed branches, pull all repos

octohot sync

Pull, create branch, add, commit, push and make an optional PR on all branches

octohot apply

Some examples you can do:

$ octohot apply -pr <branch_from_pr> <PR title> <PR message>

Options:
$ octohot apply -pr --origin-branch main <pr_branch> <PR title> <PR message>
$ octohot apply -pr --default-branch <branch_from_pr> <PR title> <PR message>

This case, if you choose for --default-branch, during the push, the branch that will be compared default_branch of the repository. If you choose for --origin-branch/-o, during the push, they will be the ones chosen to be compared (in order).

All Commands

octohot --help

git Provider

git provider for octohot

octohot git --help

Create/Change branch in all repos

octohot git branch

Clone all repos

octohot git clone

Commit added changes in all repos

octohot git commit

Get diff from all repos

octohot git diff

Pull all repos

octohot git pull

Push all repos

octohot git push

Reset all repos

octohot git reset

GitHub Provider

GitHub provider for octohot

octohot github --help

Make a PR in all GitHub repos from a specific branch

octohot github pr

Import all repositories to octohot.yml config file from a Organization from GitHub

octohot github org import

List all repositories to octohot.yml config file from a Organization from GitHub

octohot github org list

RegEx Provider

Perl RegEx provider for octohot

octohot regex --help

Find a regular expression in all repos and list files and matches

octohot regex find

Find and replace a string in all repos

octohot regex replace 

Contributing

Pull requests for new features, bug fixes and suggestions are welcome!

License

GNU General Public License v3 (GPLv3)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octohot-0.0.11.tar.gz (23.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page