Skip to content

2KAbhishek/ghpm

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

ghpm

License People Stars Forks Watches Last Updated

The GitHub Project Manager πŸ§‘β€πŸ’»βš™οΈ

ghpm Demo
ghpm screenshot

What is this

ghpm is a utility that allows you to manage all your GitHub projects by allowing batch operations.

You can clone all of your or any other user's repos at once.

You can use it to push, pull and do any other operation on all your projects at once.

Inspiration

I have a lot of repos on my GitHub and maintaining them was becoming a pain, also this makes moving my work to a new machine really smooth.

Prerequisites

Before you begin, ensure you have met the following requirements:

  • You have installed the latest version of bash
  • Cloning self repos needs authentication and relies on gh, the GitHub cli

Getting ghpm

To install ghpm, follow these steps:

git clone https://github.com/2kabhishek/ghpm.git
cd ghpm
# Setup symlink make sure target directory is added to PATH
ln -sfnv $PWD/ghpm.sh ~/.local//bin/ghpm

Using ghpm

After symlinking, you can run ghpm in your GitHub repos parent directory, or you can pass it in as an argument

ghpm
# or
ghpm ~/Projects/GitHub

This will open up the self guided menu with a list of operations you can perform.

You can use option 3 to run any command in all your GitHub repos, very useful for push, pull and similar commands.

How it was built

ghpm was built using bash

Challenges faced

Figuring out the GitHub api and authentication was a challenge, I used gh to do some heavy lifting.

What I learned

  • Best practices for bash scripts
  • Bash functions and how it handles variables
  • Used awk, find, xargs and other useful tools.

Hit the ⭐ button if you found this useful.

More Info

About

The GitHub Project Manager πŸ‘©β€πŸ’»βš™

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages