/git-portfolio

Tool for managing multiple Git projects locally and on Github.

Primary LanguagePythonMIT LicenseMIT

Git Portfolio

Project Status PyPI Python Version License

Read the documentation at https://git-portfolio.readthedocs.io/ Tests Codecov

pre-commit Black

Features

  • Configure multiple working repositories.
  • Batch git command with subcommands add, checkout, commit, pull, push, reset and status.
  • Batch create/close issues, create pull requests, merge pull requests and delete branches by name on GitHub.

Requirements

  • Create an auth token for GitHub, with the repo privileges enabled by clicking on Generate new token. You will be asked to select scopes for the token. Which scopes you choose will determine what information and actions you will be able to perform against the API. You should be careful with the ones prefixed with write:, delete: and admin: as these might be quite destructive. You can find description of each scope in docs here.

Important: safeguard your token (once created you won't be able to see it again).

  • Install git (optional) - this is needed for all git commands. For colored outputs please use the configuration:
$ git config --global color.ui always

Installation

You can install Git Portfolio via pip from PyPI:

$ pip install git-portfolio

Basic usage

  1. Create initial configuration with:
$ gitp config init
  1. Execute all the commands you want. Eg.:
$ gitp create issues  # create same issue for all projects
$ gitp checkout -b new-branch  # checks out new branch new-branch in all projects

Complete instructions can be found at git-portfolio.readthedocs.io.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, Git Portfolio is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @cjolowicz's Hypermodern Python Cookiecutter template.