GitHub from the command line with hub
Starting a New Project
Starting a new project is also much easier from hub than via the standard GitHub interface. To create a repository to host a new project, simply run:
$ git init $ git add . $ git commit -m "My New Project" $ hub create $ git push -u origin HEAD
Forking from the Command Line
Hub makes the process of collaboration on GitHub much easier by giving you the ability to create fork repositories with just one command. You can also check the CI status of a particular branch of a project or invoke pull requests, all with a single command.
To clone a repo, as above, you can just run:
$ hub clone octocat/MyNewProjectFork
And then navigate to the clone:
cd MyNewProjectFork
Then it's time to fork the repository. You can enter a single command:
$ hub fork --remote-name origin
And then push the fork to your new remote:
$ git push origin feature
Then you can check the CI status of your new fork, again with a single command:
$ hub ci-status --verbose
Automation and API
Perhaps the most powerful feature of hub, and one that more experienced developers will find extremely useful, is the ability to script GitHub tasks via the command line. You can also list or create issues, pull requests, or GitHub releases in the format of your choice. For instance, to list the URLs of the last 20 pull requests for the develop
branch, you can run:
$ hub pr list --limit 20 --base develop --format='%t [%H] | %U%n'
The functionality of hub is then further increased by the hub api
extension [7], which allows you to make any requests that the GitHub API can handle. Support for the API greatly increases the reach and power of hub, because it means you can work with more advanced tools like GraphQL [8] and open source AIs [9] directly from your terminal.
The syntax for working with hub api
is a little more complex than the examples I've given up until now, but the tool comes with a detailed and frequently updated set of manual pages [10] that can take you through the process of extending your hub install.
« Previous 1 2 3 4 Next »
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.