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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.